我正在尝试将控制台输出导出到文本文件。此输出也来自串行端口。但是,我做不到,它只打印一行。谁能帮我?我写的代码如下。 String input = new String(buffer, 0, len); // convert buffer to string myLinkedList = removeComma(input); //format string data String[] array = myLinkedList.toArray(new String[myLinkedList.size()]); // put array the formatted data PrintStream fileOut = new PrintStream(new FileOutputStream("C:\\Users\\khas\\Desktop\\output.txt")); System.setOut(fileOut); for (int i = 0; i < array.length; i++) { System.out.print(array[i] + " "); } System.out.println("");
2 回答
PIPIONE
TA贡献1829条经验 获得超9个赞
它只打印一行
因为你使用System.out.print(array[i] + " ");
,
你可以把它改成 System.out.println(array[i] + " ");
茅侃侃
TA贡献1842条经验 获得超21个赞
您需要一个流同时写入控制台和文件,您可以通过使用commons-io 的TeeOutputStream一部分将流到控制台和流到文件作为参数来创建此流
PrintStream original = System.out; //the stream of the console
FileOutputStream fileOut = new
FileOutputStream("C:\\Users\\khas\\Desktop\\output.txt"); //the stream of your file
OutputStream outputtee = new TeeOutputStream(originalOut, fileOut); //join both streams
PrintStream printTee = new PrintStream(outputTee);
System.setOut(printTee); // and set as the default out
添加回答
举报
0/150
提交
取消