【发布时间】:2012-08-22 18:53:24
【问题描述】:
我正在尝试在 java 程序中从 unix 文件系统中读取具有模式格式的文件。
文件名模式如下:
"XYZ"+"abcd1234"+MMddyyyyHHmmss
例如:XYZabc123403222012101329
“abcd1234”的中间模式不是固定的而是变化的,所以是字母数字,总字符长度为7。
如何读取具有这种模式的文件?该文件可以包含文本或序列化对象。
String path="/tmp/somedir";
final File folder = new File("/tmp/somedir");
List<String> fileNames = new ArrayList<String>();
try {
for (final File fileEntry : folder.listFiles()) {
if (fileEntry.isDirectory()) {
listFilesForFolder(fileEntry);
} else {
//System.out.println(fileEntry.getName());
fileNames.add(fileEntry.getName());
}
}
for(String str: fileNames) {
FileInputStream fileIn = new FileInputStream(path+"/"+str);
}
} catch(FileNotFoundException e) {
e.printStackTrace();
} catch(Exception e1) {
e1.printStackTrace();
}
谢谢。
【问题讨论】:
-
我想你想看看制作自己的文件过滤器,请参阅:docs.oracle.com/javase/1.4.2/docs/api/java/io/…
-
您必须在目录中搜索符合您要求的文件。
标签: java unix file-io filenames