Как можно записать в .txt файл вывод консоли?

240
02 мая 2018, 06:14
package package1.com;
import java.io.*;
public class TestClass {
    public static void main(String[] args) {
        Device device1 = new Device();
        Directory dir = device1.createDirect("Dir1", 10, " ");
        dir.addFile("File1.1", 10);
        dir.addFile("File1.2", 10);
        dir.addFile("File1.3", 10);
        Directory dir1 = device1.createDirect("Dir2", 6, " ");
        dir1.addFile("File2.1", 2);
        dir1.addFile("File2.2", 2);
        dir1.addFile("File2.3", 2);
        Directory dir2 = device1.createDirect("Dir3", 7, " ");
        dir2.addFile("File3.1", 2);
        dir2.addFile("File3.2", 2);
        dir2.addFile("File3.3", 2);
        Directory dir3 = device1.createDirect("Dir4", 7, " ");
        dir3.addFile("File4.1", 2);
        dir3.addFile("File4.2", 2);
        dir3.addFile("File4.3", 2);
        device1.showDir();
        try (BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
             BufferedWriter bw = new BufferedWriter(new FileWriter("notes5.txt"))) {
            String text;
            while (!(text = br.readLine()).equals("ESC")) {
                bw.write(text + "\n");
                bw.flush();
            }
        } catch (IOException ex) {
            System.out.println(ex.getMessage());
        }
    }
}

Это вывод консоли, но почему-то он не хочет записывать его. В чем ошибка? И возможно ли, чтобы записывание прекращалось автоматически, не прописывая ESC. Просто в дальнейшем я хочу данный метод навесить на кнопку, чтобы при нажатии было автосохранение в файл.

Dir1 
Имя файла : File1.1  Размер файла: 10
Имя файла : File1.2  Размер файла: 10
Имя файла : File1.3  Размер файла: 10
Кол-во элементов: 3  Длина массива: 10
Dir2 
Имя файла : File2.1  Размер файла: 2
Имя файла : File2.2  Размер файла: 2
Имя файла : File2.3  Размер файла: 2
Кол-во элементов: 3  Длина массива: 6
Dir3 
Имя файла : File3.1  Размер файла: 2
Имя файла : File3.2  Размер файла: 2
Имя файла : File3.3  Размер файла: 2
Кол-во элементов: 3  Длина массива: 7
Dir4 
Имя файла : File4.1  Размер файла: 2
Имя файла : File4.2  Размер файла: 2
Имя файла : File4.3  Размер файла: 2
Кол-во элементов: 3  Длина массива: 7
Answer 1
Разобрался.
        public void saveProject(String name)throws FileNotFoundException {
        Directory current = firstDir;
        File  file = new File(name);
        FileOutputStream fileOutputStream = new FileOutputStream(file);
        PrintStream printStream1 = new PrintStream(fileOutputStream);
        System.setOut(printStream1);
        while (current != null) {
            System.out.println(current.getNameDir() + " ");
            current.display();
            current = current.getNextDir();
        }
        }
READ ALSO
Не работает считывание из файла Java

Не работает считывание из файла Java

Вот такой небольшой код при выполнении показывает ошибку:

232
шифратор и дешифратор шифра Виженера [требует правки]

шифратор и дешифратор шифра Виженера [требует правки]

Помогите,пожалуйста,необходимо написать программу шифратора и дешифратора с ключом с помощью квадрата ВиженераЯ не понимаю как это сделать((

319
Преобразование произвольной картинки в трассу Box2d

Преобразование произвольной картинки в трассу Box2d

Идея: пользователь рисует произвольную черную линию на белом холсте bitmap, а после нажимает кнопку Start и происходит следующее - нарисованная...

209