我在将文件列表保存到文件时遇到一些问题:

class listFilesForFolder{

    static String fs1= System.getProperty("user.dir" )+"/lista plików";

    static File fs2= new File(fs1);
    public static void listFilesForFolder(File folder) throws FileNotFoundException  {


        for ( File fileEntry : folder.listFiles()) {
            if (fileEntry.isDirectory()) {
                listFilesForFolder(fileEntry);
            }
            System.out.println(fileEntry.getName());
            zapis(fileEntry.getName());
         }
    }

    static void zapis(String plik)throws FileNotFoundException {

        PrintWriter zapis = new PrintWriter(fs2);
        zapis.println(plik+ "\r\n");
        zapis.close();
    }

}


这段代码在屏幕上打印了所有文件列表,但是我的文件“ listaplików”只有一个文件名(应该有多个)。我该做什么?

最佳答案

根据PrinterWriter的文档,如果该文件存在,它将被“截断为零大小”。每次调用new PrintWriter时,文件都会被截断。

要修复此问题,只需调用一次PrintWriter构造函数,而不是每次要写入文件时都进行调用。

10-07 22:21