フォルダに保存されているすべてのファイルの情報を一覧表示するプログラムを実行しています。
ファイルのプロパティを取得したい(私にとって最も重要なのはファイルサイズですが、変更日などの他のプロパティも取得したいです)。
私の問題は、実際に別のプログラムで使用されているファイルにアクセスすると、ファイルを取得できないことBasicFileAtrributtes
です。File
、、を使用しようとしましたがURL
、RandomFileAcces
これらすべての要求を使用してファイルを開き、次のような例外をスローします。
java.io.FileNotFoundException: C:\pagefile.sys (Access is denied)
このプロパティを取得するためのJavaのオプションはありますか?アプリケーションのサイズを小さく保つために、余分なライブラリを使用しないことを好みます。
アプリはJavaJRE7に基づいています。
私は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;
}