Java - 如何获取给定目录内容的文件路径并将其写入文本文件?

时间:2016-01-07 20:04:33

标签: java

我之前在这里找到了各种问题的答案,但这是我第一次问一个问题。我正在为我的计算机编程课程中的最终项目提出一个想法,我正在研究Java中的一些概念程序证明,在Eclipse中工作。除了获取目录内容的文件路径并将它们写入.txt文件之外,我不需要任何其他内容。提前谢谢!

编辑:我在下面发布我的代码。我发现了一段代码用于获取内容并将其打印到屏幕上,但是print命令是一个占位符,当我可以的时候,我将替换为write to folder命令。

import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Paths;

public class ScanFolder {

public static void main(String[] args) throws IOException {
    Files.walk(Paths.get("C:/Users/Joe/Desktop/test")).forEach(filePath -> {
        if (Files.isRegularFile(filePath)) {
            System.out.println(filePath);
        }
    });

}

}

1 个答案:

答案 0 :(得分:-1)

编辑:我已将OutputStreamWriter包含在BufferedWriter

public static void main(String[] args) {
    FileOutputStream fos = null;
    try {
        fos = new FileOutputStream("txt.txt");
    } catch (FileNotFoundException e) {
        e.printStackTrace();
        return;
    }
    BufferedWriter out = new BufferedWriter(new OutputStreamWriter(fos));

    writeContentsOfFileToAFile(new File("."), out, true); // change true to
                                                            // false if you
                                                            // don't want to
                                                            // recursively
                                                            // list the
                                                            // files

    try {
        out.close();
    } catch (IOException e) {
        e.printStackTrace();
    }
}

static void writeContentsOfFileToAFile(File parent, BufferedWriter out, boolean enterIntoDirectory) {
    for (File file : parent.listFiles()) {
        try {
            out.write(file.toString() + "\r\n");
        } catch (IOException e) {
            e.printStackTrace();
        }
        if (enterIntoDirectory && file.isDirectory())
            writeContentsOfFileToAFile(file, out, enterIntoDirectory);
    }
}

这是你需要的吗?