Как преобразовать данные консоли в текстовый файл на Java - PullRequest
0 голосов
/ 03 октября 2018

Я пытаюсь экспортировать вывод своей консоли в текстовый файл.Этот вывод также поступает из последовательного порта.Но я не смог этого сделать, он печатает только одну строку.Может кто-нибудь мне помочь?Код, который я написал ниже.

 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 ]

0 голосов
/ 03 октября 2018

Вам нужен поток для одновременной записи в консоль и в файл. Вы можете создать этот поток, используя TeeOutputStream часть commons-io , передавая в качестве параметра поток дляконсоль и поток в файл

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 голосов
/ 03 октября 2018

печатает только одну строку

, поскольку вы используете System.out.print(array[i] + " ");,

, вы можете изменить его на System.out.println(array[i] + " ");

...