PrintWriter создает файл, но не пишет

1

Я использовал код примера на веб-сайте где-то, и он выглядит так:

package gdt.enlightening;

import notify.*;
import javax.swing.*;
import java.io.*;
import java.util.logging.Level;
import java.util.logging.Logger;

public class export {
    public static void Export(String path) {

        try {
            // Package.json
            File file = new File(path + "/package.json");

            FileWriter pw = new FileWriter(file);
            pw.write("test");
            pw.write("Hi!");

            pw.write("    \"id\": \"" + main.packageID + "\",\r\n");
            pw.write("    \"name\": \"test\",");

            notify.Notify.info("GDT Enlightening", "Finished exporting without errors.");
        } catch (Exception e) {
            System.out.println(e.toString());
        }
    }
}

Он создает файл, но оставляет его полностью пустым. Похоже, я не понимаю, почему. Нужен ли мне объект "Файл"?

Я пробовал различные решения, найденные здесь, но это не работает. Я также играл с методом печати.

EDIT: Исправлено, вызывая pw.close() в конце

  • 0
    Ну, это должно работать (хорошо работает для меня). Вы уверены, что смотрите на нужный файл?
  • 0
    Что такое путь? Пожалуйста, дополните.
Показать ещё 12 комментариев
Теги:
printwriter

1 ответ

3
Лучший ответ

Вы должны добавить pw.close() чтобы исправить эту проблему.

Кроме того, данные будут потеряны в буфере.

  • 0
    Ради образования pw.flush () вытолкнет все данные на диск и оставит файл открытым для дальнейшей записи.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню