1

我必须从当前工作目录中的所有文本文件名称中构建一个列表...

我写了这样的东西,但它并没有真正起作用我只是在网上看到这个

String[] allomanyok2 = fl.list();fl类型在哪里File......

我需要文本文件的名称,因为我必须对它们做不同的事情......

谁能帮助我如何在列表或其他内容中获取这些名称?...谢谢预期

4

3 回答 3

2

假设您想要带有.txt扩展名的文本文件,您可以执行以下操作:

File file = new File("myDirectory");
String[] myTextFiles = file.list(new FilenameFilter() {
    public boolean accept(File dir, String name) {
        return name.toLowerCase().endsWith(".txt"); // Andrew Thompson's comment
    }
});

在这里,该list()方法采用一个FilenameFilter实现该方法的匿名类accept(File, String)。此方法仅检查文件名是否以 结尾.txt,如果是则返回 true,如果不是则返回 false。

然后,该list()方法将仅返回以 . 结尾的文件.txt

如果您希望您的数组作为列表:

List<String> myListTextFiles = Arrays.asList(myTextFiles);
于 2013-02-20T17:26:36.387 回答
1

您需要使用File#list(FilenameFilter). 实现一个过滤器,它只接受以 . 结尾的字符串txt。我假设所有文本文件都有.txt扩展名。

String[] allomanyok2 = fl.list(new FilenameFilter() {
    public boolean accept(File dir, String name) {
        return name.toLowerCase().endsWith(".txt");
    };
});
于 2013-02-20T17:25:34.587 回答
1

尝试这个:

File workingDir = new File(".");
String[] textFiles = workingDir.list(new FilenameFilter() {
    public boolean accept(File dir, String name) {
        return name.endsWith(".txt");
    };
});
于 2013-02-20T17:27:33.670 回答