Возможно ли как-то это осуществить? Например, программа сработала, консоль отобразила результат и пользователь введя букву "s" переносит всё содержимое консоли в .txt файл.
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!"
}
}
Сделать это возможно. Я бы через 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();
}
}
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Объясните, чем логически является возвращаемое значение метода readInt() из класса DataInputStream?
программисты! Пытаюсь разобраться с контейнерамиПрограмма, используя метод add добавляет в массив из строк(изначально n=0 по размерности) заданное...