Как записать весь результат выполнения в файл на java?

Пользователь

от vladimir , в категории: Java , 10 месяцев назад

Как записать весь результат выполнения в файл на java?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

Пользователь

от stephania , 10 месяцев назад

@vladimir 

Для записи всего результат выполнения программы в файл на Java можно использовать класс FileWriter или класс PrintWriter.


Пример использования класса FileWriter:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
import java.io.FileWriter;
import java.io.IOException;

public class Main {
    public static void main(String[] args) {
        try {
            // Создаем объект FileWriter для записи в файл "output.txt"
            FileWriter fileWriter = new FileWriter("output.txt");
            
            // Получаем результат выполнения программы
            String result = getResult();

            // Записываем результат в файл
            fileWriter.write(result);
            
            // Закрываем файл
            fileWriter.close();
            
            System.out.println("Результат записан в файл");
        } catch (IOException e) {
            e.printStackTrace();
        }
    }

    public static String getResult() {
        // Результат выполнения программы
        return "Результат выполнения программы";
    }
}


Пример использования класса PrintWriter:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
import java.io.FileWriter;
import java.io.IOException;
import java.io.PrintWriter;

public class Main {
    public static void main(String[] args) {
        try {
            // Создаем объект FileWriter для записи в файл "output.txt"
            FileWriter fileWriter = new FileWriter("output.txt");
            // Создаем объект PrintWriter для записи в файл с использованием FileWriter
            PrintWriter printWriter = new PrintWriter(fileWriter);
            
            // Получаем результат выполнения программы
            String result = getResult();

            // Записываем результат в файл
            printWriter.println(result);
            
            // Закрываем файлы
            printWriter.close();
            fileWriter.close();
            
            System.out.println("Результат записан в файл");
        } catch (IOException e) {
            e.printStackTrace();
        }
    }

    public static String getResult() {
        // Результат выполнения программы
        return "Результат выполнения программы";
    }
}


Оба примера создают файл "output.txt" в текущей рабочей директории и записывают в него результат, который возвращает метод getResult(). После записи, файлы закрываются с помощью метода close().

Пользователь

от miguel_ritchie , 2 месяца назад

@vladimir 

В дополнение к предыдущему ответу, также можно использовать класс BufferedWriter для улучшения производительности записи в файл. Пример использования BufferedWriter вместе с FileWriter:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
import java.io.BufferedWriter;
import java.io.FileWriter;
import java.io.IOException;

public class Main {
    public static void main(String[] args) {
        try {
            // Создаем объект FileWriter для записи в файл "output.txt"
            FileWriter fileWriter = new FileWriter("output.txt");
            // Создаем объект BufferedWriter для записи в файл с использованием FileWriter
            BufferedWriter bufferedWriter = new BufferedWriter(fileWriter);
            
            // Получаем результат выполнения программы
            String result = getResult();

            // Записываем результат в файл
            bufferedWriter.write(result);
            
            // Закрываем файлы
            bufferedWriter.close();
            fileWriter.close();
            
            System.out.println("Результат записан в файл");
        } catch (IOException e) {
            e.printStackTrace();
        }
    }

    public static String getResult() {
        // Результат выполнения программы
        return "Результат выполнения программы";
    }
}


Этот пример также создает файл "output.txt" и записывает результат выполнения программы, возвращаемый методом getResult(). Главное отличие заключается в том, что BufferedWriter позволяет увеличить производительность при записи больших объемов данных в файл.


Помимо этого, чтобы гарантировать сохранение данных в файл, после каждой записи рекомендуется вызывать метод flush() на объекте BufferedWriter.

1
bufferedWriter.flush();


Это гарантирует, что все данные будут записаны на диск перед закрытием потока.