我有多个以 CUSTOMER_YYYYMMDD.csv
开头的文件(每个文件都有自己的日期)位于包含许多其他文件的文件夹中。我的脚本(使用 BufferedReader
)已经可以从一个具体文件读取数据,但我想从仅名为 CUSTOMER_YYYYMMDD.csv
的文件中获取数据,但我不知道该怎么做。
这是我得到的:
public static void main(String[] args)
{
BufferedReader br = null;
try {
String line;
br = new BufferedReader(new FileReader("/Users/ovshievb/Desktop/IP/data/tcos/INPUT/CUSTOMER_20150401.csv"));
//Nacita hlavicku CSV failu aby ji preskocit
br.readLine();
// Cteni failu radek po radku
while ((line = br.readLine()) != null) {
// System.out.println("Raw CSV data: " + line);
System.out.println("Customer: " + csvToArray(line) + "\n");
}
} catch (IOException e) {
e.printStackTrace();
} finally {
try {
if (br != null) br.close();
} catch (IOException exception) {
exception.printStackTrace();
}
}
}
最佳答案
首先,您应该获得目录中所有文件的列表。这可以通过创建目录的文件对象然后调用 list()
方法来完成。
File myDirectory = new File(/path/to/my/dir/);
String[] containingFileNames = myDirectory.list();
之后,您可以迭代所有文件名并检查名称是否与模式 CUSTOMER_YYYYMMDD.csv 匹配
for (String fileName : containingFileNames) {
if (fileName.matches("CUSTOMER_\\d*.csv") {
// Read this file with the BufferedReader like in your code above
}
}
关于java - 如何从多个具有相似名称的 .csv 文件读取数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32459361/