我想从目录中读取文件。在此目录中还有八个具有相同扩展名 (.csv) 的附加文件。同样,文件名也不是直接知道的。该文件的名称如下所示:
test_file_1_2017_06_24.csv
但是,如果我在第二天调用目录,它可能会改变。那么文件名是:
test_file_2_2017_06_25.csv 或 test_file_1_2017_06_25。
文件名和日期更改。有没有办法在 Java 中读取文件“变量”或读取文件但不知道确切名称?目录总是相同的 ("H:/) (在文件读取后,然后分别使用 split() 对文件和结果字符串进行进一步处理)。感谢您提供有用的答案!
编辑:读取目录并仅显示 csv-Files
File dir = new File("H:/");
File[] fileArray = dir.listFiles(new FilenameFilter() {
public boolean accept(File dir, String name) {
return name.endsWith(".csv");
}
});
for(File f: fileArray){
System.out.println(f.getName());
}
File directory = new File("H:/");
File[] allFilesInDir = directory.listFiles();
请参阅https://docs.oracle.com/javase/7/docs/api/java/io/File.html#listFiles()。
您还可以提供一个FilenameFilter
以仅获取 .csv 文件:
File[] allCsvFiles = directory.listFiles( new FilenameFilter() {
public boolean accept(File dir, String name) {
if ( name.toUpperCase().endsWith(".CSV") ) {
return new File(dir,name).isFile(); // Make sure we don't accept sub-directories ending in .csv
}
}
});
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句