Сохранить содержимое консоли в файл. Java [закрыт]

149
27 марта 2019, 12:30

Возможно ли как-то это осуществить? Например, программа сработала, консоль отобразила результат и пользователь введя букву "s" переносит всё содержимое консоли в .txt файл.

Answer 1
import java.io.ByteArrayOutputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStream;
import java.io.PrintStream;
import org.apache.commons.io.output.TeeOutputStream;
public class Example {
    public static void main(String[] args) throws IOException {
        ByteArrayOutputStream buffer = new ByteArrayOutputStream();
        OutputStream teeStream = new TeeOutputStream(System.out, buffer);
        // После этой строки любой вывод будет сохраняться в buffer
        System.setOut(new PrintStream(teeStream));
        // Выводим в консоль строку
        System.out.println("Hello World!");
        // Сохраняем buffer в файл
        try(OutputStream fileStream = new FileOutputStream("console.txt")) {
            buffer.writeTo(fileStream);
        }
        // В console.txt теперь строка "Hello World!"
    }
}
Answer 2

Сделать это возможно. Я бы через java.io написал таким образом:

import java.io.*;
 public class Solution
{
public static void main(String[] args) throws IOException
{
    BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
    OutputStream outputStream = new FileOutputStream(reader.readLine());
    while (true)
    {
        String data = reader.readLine();
        if(data.equals("s")){
            outputStream.write(data.getBytes());
            break;
        }
        else {
            outputStream.write((data +"\r\n").getBytes());
        }
    }
    outputStream.close();
    reader.close();
}
} 
READ ALSO
Как использовать readInt из DataInputStream в Java?

Как использовать readInt из DataInputStream в Java?

Объясните, чем логически является возвращаемое значение метода readInt() из класса DataInputStream?

153
Java и о всё о ней [закрыт]

Java и о всё о ней [закрыт]

Читаю документацию Java, перевожу, созрели вот такие вопросы:

266
Контейнеры Java

Контейнеры Java

программисты! Пытаюсь разобраться с контейнерамиПрограмма, используя метод add добавляет в массив из строк(изначально n=0 по размерности) заданное...

245