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

如何在Java中将控制台数据转换为文本文件,java,file,fileoutputstream,printstream,Java,File,Fileoutputstream,Printstream,我正在尝试将控制台输出导出到文本文件。此输出也来自串行端口。但是,我做不到,它只打印一行。有人能帮我吗? 我写的代码如下 String input = new String(buffer, 0, len); // convert buffer to string myLinkedList = removeComma(input); //format string data String[] array = myLinkedList.toArray(new St

我正在尝试将控制台输出导出到文本文件。此输出也来自串行端口。但是,我做不到,它只打印一行。有人能帮我吗? 我写的代码如下

 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("");
String输入=新字符串(缓冲区,0,len);//将缓冲区转换为字符串
myLinkedList=removeComma(输入)//格式化字符串数据
String[]数组=myLinkedList.toArray(新字符串[myLinkedList.size()]);//将格式化的数据放入数组
PrintStream fileOut=new PrintStream(new FileOutputStream(“C:\\Users\\khas\\Desktop\\output.txt”);
系统放样(文件整理);
for(int i=0;i
它只打印一行

因为您使用的是
System.out.print(数组[i]+“”),


您可以将其更改为
System.out.println(数组[i]+“”)

您需要一个流来写入控制台和文件,同时,您可以使用
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

我建议您使用FileWriter,而不是一行打印,但它可以打印您所需要的所有内容?您是否多次调用此方法?只显示最新信息?@Stultuske而不是PrintStream?@vmrvictor我想打印控制台上的所有行否,这是数据。因为数据是以数组的形式出现的。在th,s循环之后,我还编写System.out.println(“”);去下一行。@BesteIskemleci你说的
我做不到
。确切的问题是什么?它只打印一行。我想把所有的行都放在控制台上。@Beste Iskemleci如果你想把它们写入文件,也要在控制台上打印它们。问题是,它们已被放入文件中,但没有出现在控制台上。我说得对吗?