将文件列表保存为.txt

时间:2012-02-24 04:47:46

标签: java file directory text-files

我试图将带有文件列表的字符串保存到文件中,但它只保存最后一个..这里有什么问题? :(

public void fileprinter() throws IOException{       
    File dir = new File("c:");
    String[] children = dir.list();
    if (children == null) {
        } else {
            for (int i=0; i<children.length; i++) {
                String filename = new StringBuffer().append(children[i]).toString();
                System.out.println(filename);
                Writer output;
                File file = new File("D:/file.txt");
                output = new BufferedWriter(new FileWriter(file));
                output.write(filename);
                output.close();
        }
    }
}

1 个答案:

答案 0 :(得分:4)

你继续覆盖循环中的同一个文件,所以只有最后一行才能“存活”。

在循环外打开BufferedWriter(一次!),完成后关闭它。

另一种方法是在附加模式下打开,但即使这样,也不要一遍又一遍地重新打开同一个文件。