事情是这样的,遍历文件夹里面的所有文件时出现了一个莫名奇妙的.svn拒绝访问。
File dir = new File("D:\\files");
File[] files = dir.listFiles();
后面通过查看隐藏文件夹的方式,确实看到了.svn文件夹在这个目录下面。而我要的是.xml的所有文件,于是准备尝试使用listFiles(Filter)的重载方法。
这个方法使用的时候仍然会有这个问题,原来是因为在判断这个文件或者文件夹是不是这个扩展名的时候仍然会访问该文件,所有还是依然会报出FileNotFound: .svn拒绝访问 这个异常。
经过尝试,原来是一个非常简单的原因,在使用这个文件之前判断这个文件是不是一个文件夹,如果是一个文件夹就continue就行了。
for(File file : files) {
if(file.isDir...()) continue;
}
以上代码都是示例,不能直接运行,就是给你展示一下。