我想知道如果我只知道目录结构的路径和文件的部分名称,是否有办法知道文件是否存在。
例如,我想检查以下路径中是否存在以下 tar.gz 文件:
/home/rah/data/download/lib/test@4.3-00@20120731.0.tar.gz
我只想让我的程序在我知道的时候继续运行
path = /home/rah/data/download/lib/
partial file name = test@4.3-00@20120731
(注意我遗漏了“0.tar.gz”)。实际上,我不想在文件名中的日期之后计算 0(它可以是任何值 0、1、2、3 ...)。
所以我希望它能工作:
if( filename.canRead() ) {
//
}
如果文件名类似于:"test@4.3-00@20120731..tar.gz" 其中 STAR () 可以是任何数字
我该怎么做?或者是否可以检查部分路径是否存在,例如
/home/rah/data/download/lib/test@4.3-00@20120731?
谢谢。
最佳答案
你可以写一个 FileFilter并将其提供给 File.listFiles()方法。粗略地说,它看起来像这样:
File dir = new File("/home/rah/data/download/lib/");
// list the files using a anonymous FileFilter
File[] files = dir.listFiles(new FileFilter() {
@Override
public boolean accept(File file) {
return file.getName().startsWith("test@4.3-00@20120731");
}
});
关于Java:部分路径存在,文件的部分名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11756567/