我必须从当前工作目录中的所有文本文件名构建一个列表...
我写了类似这样的东西但它并没有真正起作用我只是在网上看到了这个
String[] allomanyok2 = fl.list();
其中fl
是File
类型....
我需要文本文件的名称,因为我必须用它们做不同的事情......
任何人都可以帮助我如何在列表或其他内容中获取此名称? ......预期
答案 0 :(得分: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);
答案 1 :(得分:1)
您需要使用File#list(FilenameFilter)
。实现一个只接受以txt
结尾的字符串的过滤器。我假设所有文本文件都有.txt
扩展名。
String[] allomanyok2 = fl.list(new FilenameFilter() {
public boolean accept(File dir, String name) {
return name.toLowerCase().endsWith(".txt");
};
});
答案 2 :(得分:1)
试试这个:
File workingDir = new File(".");
String[] textFiles = workingDir.list(new FilenameFilter() {
public boolean accept(File dir, String name) {
return name.endsWith(".txt");
};
});