【发布时间】:2013-06-28 07:12:31
【问题描述】:
假设我有以下格式的 .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 文件,但我想读取具有特定模式的目录。
【问题讨论】:
-
读取 XML 的方法有很多。使用DOM、SAX等。详情docs.oracle.com/javase/tutorial/jaxp
-
您是在问如何读取 XML 或如何使用正则表达式读取文件?
-
试试这个从stackoverflow.com/a/5924345/1862502目录读取文件
-
我的问题是如何用“正则表达式”读取文件
-
您可以按照@VigneshVino 的建议使用 FilenameFilter。没有什么能阻止您在
accept()方法中使用正则表达式。