Java obj массив в файл - PullRequest
       46

Java obj массив в файл

0 голосов
/ 21 октября 2019

Закрытый вопрос, пожалуйста, удалите!

1 Ответ

1 голос
/ 21 октября 2019

Хотя я и предложил в своем комментарии использовать BufferedWriter, я думаю, что проще использовать Files.write.

. При этом ваш outputPGToFile() будет выглядеть так:

private static void outputPGToFile() {
    try {
        Files.write(Paths.get("PostgradStudent.csv"),
            Arrays.stream(PGstudentArray).map(Object::toString).collect(Collectors.toList()),
            StandardOpenOption.CREATE, StandardOpenOption.TRUNCATE_EXISTING);
    } catch (IOException e) {
        e.printStackTrace();
    }   
}

(Вам необходимо добавить соответствующий импорт)

Если вам действительно нужно использовать старые вещи низкого уровня java.io, вы можете использовать это:

private static void outputPGToFile() {
    try (FileWriter fw = new FileWriter(new File("PostgradStudent.csv")); 
            BufferedWriter bw = new BufferedWriter(fw)) {
        for (PostGraduateStudent student : PGstudentArray) {
            bw.write(student.toString());
            bw.newLine();
        }
    } catch (IOException e) {
        e.printStackTrace();
    }
}

Try-with-resources обеспечит закрытие как FileWriter, так и BufferedWriter даже при возникновении исключения.

...