それぞれのファイルを読み込もうとすると、Javaのディレクトリをループしています。ディレクトリには、アクセスを拒否するいくつかのsvnファイルが含まれています。私はファイル名をテストし、svnファイルをスキップすることができましたが、アクセスが拒否された他のファイルが見つかった場合、このソリューションは堅牢ではありません。私はこれを試しました:java.io.FileNotFoundException:.svn(アクセスが拒否されました)
for(File f : dir.listFiles()){
if(f.canRead()){
System.out.println("Trying " + f.getAbsolutePath());
try{
Scanner sc = new Scanner(f);
}
catch(IOException e){
e.printStackTrace();
}
continue;
}
}
しかし、私が.svnファイルを取得すると、スキップしません。
Trying C:\dir\.svn
java.io.FileNotFoundException: dir\.svn (Access is denied)
canRead()
、canWrite()
、およびcanExecute()
すべてが同じ問題を抱えている:私はこのプリントアウトを取得します。 拒否されたアクセスファイルをスキップするために使用できるcanXXX()
以外に何かがありますか?
正確に。とにかくそれをしなければなりません、なぜ追加コードを書くのですか?私は単にディレクトリをフィルタリングし、try/catchを使います。 – EJP