为了账号安全,请及时绑定邮箱和手机立即绑定

如何在 Java 中将控制台数据转换为文本文件

如何在 Java 中将控制台数据转换为文本文件

明月笑刀无情 2021-10-27 09:50:43
我正在尝试将控制台输出导出到文本文件。此输出也来自串行端口。但是,我做不到,它只打印一行。谁能帮我?我写的代码如下。 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] + " ");


查看完整回答
反对 回复 2021-10-27
?
茅侃侃

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


查看完整回答
反对 回复 2021-10-27
  • 2 回答
  • 0 关注
  • 262 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信