0

想象一下,我有以下格式的 .xml 文件。

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<config>
    <Directory>c:/test</Directory>
    <headerLine>1</headerLine>
    <pattern>.*\.txt</pattern>
</config>

标签,指定文件的<Directory>路径。

标签,指定我的<headerLine>文件有多少行有标题,另一个是正文。(不重要)

<pattern>标签。指定文件的格式。

问题是:

我想读一个文件。首先,我必须去<Directory>标签,并获取我的文件的目录,然后我必须使用指定的模式读取该目录中的所有文件,这些文件显示在标签中。例如 .in C:/test ,我有很多文件,但我应该读取以 ".*.txt" 结尾的文件。我使用“Unmarshal”算法从 .xml 读取并将其转换为 java 对象。我的问题是如何使用该模式定义读取 c:/test 目录中的所有文件。你能帮我吗,我该如何解决这个问题?

FileSplitter fileSplitter = new FileSplitter("C:\\test.txt");

使用此代码,我只能读取test.txt文件,但我想读取具有特定模式的目录。

4

1 回答 1

0

是的,这是正确的。正如“Vignesh Vino”所建议的那样,这段代码解决了我的问题并回答了我的问题

File folder = new File("/path/to/files");
File[] listOfFiles = folder.listFiles();

for (int i = 0; i < listOfFiles.length; i++) {
  File file = listOfFiles[i];
  if (file.isFile() && file.getName().endsWith(".txt")) {
    String content = FileUtils.readFileToString(file);
    /* do somthing with content */
  } 
}
于 2013-07-08T06:11:22.837 回答