无法写入 Java 中创建的 HTML 文件

Cannot write to created HTML file in Java

这是我的代码:

public static void create() {
        String path = FileSystemView.getFileSystemView().getHomeDirectory().getAbsolutePath() + "\JWPLfile";
        int index = 0;
        while (true) {
            try {
                File f = new File(path + index + ".html");
                BufferedWriter bw = new BufferedWriter(new FileWriter(f));
                bw.write(fileContent);
                break;
            } catch (Exception e) {
                index++;
            }
        }
    }

但是新创建的 HTML 文件是空的,尽管 fileContent 不是。

您需要确保文件已关闭。使用 try-with-resources,如:

        File f = new File(path + index + ".html");
        try (FileWriter fw = new FileWriter(f)) {
            BufferedWriter bw = new BufferedWriter(fw);
            bw.write(fileContent);
            break;
        } catch (Exception e) {
            index++;
        }

请注意,(基本上)空的 catch 块将对您隐藏任何异常。不是个好主意。

此外,while(true)break 是不必要的。

正如 Jim 的回答所说,空的 catch 块不是一个好主意。而是首先检查文件是否存在并递增 index 直到它不存在:

int index = 0;
File f;
do {
  f = new File(path + index++ + ".html");
} while (f.exists())
...