我用如下方式访问一个文件夹出现问题:
System.out.println(new FileInputStream(new File("E:\\文件夹名").listFiles()[1]).available());
错误信息:Exception in thread "main" java.io.FileNotFoundException: E:\文件夹名 (拒绝访问。)
at java.io.FileInputStream.open(Native Method)
at java.io.FileInputStream.<init>(FileInputStream.java:106)
at action.TestAction.main(TestAction.java:72)注:这种方式是从网上搜到的,网上普遍这样写的,是不是我的问题?
System.out.println(new FileInputStream(new File("E:\\文件夹名").listFiles()[1]).available());
错误信息:Exception in thread "main" java.io.FileNotFoundException: E:\文件夹名 (拒绝访问。)
at java.io.FileInputStream.open(Native Method)
at java.io.FileInputStream.<init>(FileInputStream.java:106)
at action.TestAction.main(TestAction.java:72)注:这种方式是从网上搜到的,网上普遍这样写的,是不是我的问题?
这里就全 你可以去看看
http://www.blogjava.net/i369/articles/182041.html
也谢谢HeiBoyYang,依然没有找到我想要的方法,那个空间很牛,但里面没有提到怎么访问文件夹和得到文件夹的大小。
我用这个方法得到一个文件夹的大小:
/**
* 递归调用,获取一个目标文件夹的大小
* @param file
* @return
*/
public long calcDirectorySize(File file){
long directorySize=0L;
File[] files=file.listFiles();
for(int i=0;i<files.length;i++){
if(files[i].isDirectory()){
directorySize+=calcDirectorySize(files[i]);
}else{
directorySize+=files[i].length();
}
}
return directorySize;
}
但一遇到中文名的文件夹就挂了,抛出空指针异常。请问有没有办法解决啊?