无法写入java中创建的html文件

fcipmucu  于 2021-06-30  发布在  Java
关注(0)|答案(2)|浏览(404)

这是我的密码:

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不是空的。

f8rj6qna

f8rj6qna1#

正如吉姆的回答所说,空的捕获块是个坏主意。而是先检查文件是否存在,然后递增 index 直到它没有:

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

50few1ms2#

您需要确保文件已关闭。对资源使用try,如:

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 没有必要。

相关问题