java - 如何从多个具有相似名称的 .csv 文件读取数据?

标签 java csv filereader

我有多个以 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/

相关文章:

java - 有没有办法列出请求者付款标记的 Amazon S3 存储桶中的对象?

java - 访问 map map 的最佳方式

java - CsvMapReader 似乎无法解析我的文件

javascript - 如何在 JavaScript 中创建图像的文本二进制表示?

java - 如何修改我的代码以仅获取日期的时间部分?

java - 如何在java中获取之前的时间

python - 在 Python 中解析多个 CSV (.txt) 文件

python - Python 可以使用的 Matlab 输出格式

Javascript FileReader 多个图像

javascript - 无法使用 FileReader 操作元素