我正在运行一个程序来列出存储在文件夹中的所有文件的信息。
我想获取文件的属性(对我来说最重要的是文件大小,但我还想获取其他属性,如修改日期等)。
我的问题是当我访问另一个程序实际使用的文件时,我无法获取BasicFileAtrributtes
文件。我尝试使用File
, URL
, RandomFileAcces
, 但所有这些都需要打开文件,并抛出异常,如:
java.io.FileNotFoundException: C:\pagefile.sys (Access is denied)
java中是否有任何选项来获取此属性?我不喜欢使用任何额外的库,以保持应用程序的小尺寸。
应用程序基于 java JRE7。
我java.nio.file.SimpleFileVisitor
用来访问所有文件。这是我的代码片段,其中出现错误:
@Override
public FileVisitResult visitFileFailed(Path file, IOException exc){
FileInfo temp=new FileInfo(new FileInfo().repairName(file.toString()));
temp.isLeaf=true;
temp.fName=temp.fName.replace(strIn, "");
File fis=null;
try {
fis=new File(file.toAbsolutePath().toString());
if(fis.exists())
System.out.println("exists");
if(fis.isFile())
System.out.println("isFile");
System.out.println(file.toAbsolutePath().toString());
temp.fSize=new BigInteger(new Long(fis.length()).toString());
} catch(Exception e){
e.printStackTrace();
}
node.add(temp, true);
FileListCreator.jProgressBar.setValue(++count);
return CONTINUE;
}