public static long getFileSize(File file)
{
long size = 0;
if (file.isFile())
{
size += file.length();
}
else if (file.isDirectory())
{
File[] list = file.listFiles();
for (File f:list)
{
getFileSize(f);
}
}
return size;
}
我想知道为什么我用这个函数获取文件夹的大小时,得到结果总是零?但是可以获取到文件的大小。迷茫中....求大神指导!谢啦!
{
long size = 0;
if (file.isFile())
{
size += file.length();
}
else if (file.isDirectory())
{
File[] list = file.listFiles();
for (File f:list)
{
getFileSize(f);
}
}
return size;
}
我想知道为什么我用这个函数获取文件夹的大小时,得到结果总是零?但是可以获取到文件的大小。迷茫中....求大神指导!谢啦!
解决方案 »
- 求命令行的文件编码utf8/ascii等转换器
- 用Java开发通信服务器
- Add应该怎么用?
- JAVA面试题
- Java可以实现类似WCF那种双工WebService吗
- 可以在本地机器上调试socket程序吗?(简单聊天工具)
- 怎么得到PreparedStatement对象executeQuery()函数所返回的结果集行数??
- j2sdk 1.3教学软件
- 请问getClass().getResourceAsStream(fileName)中的fileName可以用绝对路径吗?
- 几个初学者的问题!一定给分!
- setbackground为什么没用呢?
- 关于解析hao123 网站视频信息问题????望指教???先看完我说的问题,谢谢。。
换成
size += getFileSize(f);
static long size = 0;
{
long size = 0;
if (file.isFile())
{
size += file.length();
}
else if (file.isDirectory())
{
File[] list = file.listFiles();
for (File f:list)
{
size = getFileSize(f);}
}
return size;
}
{
long size = 0;
if (file.isFile())
{
size += file.length();
}
else if (file.isDirectory())
{
File[] list = file.listFiles();
for (File f:list)
{
size += getFileSize(f);
return size;
}
sorry 写错了
{
static long size = 0;
static int number = 0;
public static void getFileSize(File file)
{
if (file.isFile())
{
size += file.length();
number++;
} else if (file.isDirectory())
{
File[] list = file.listFiles();
for (File f : list)
{
getFileSize(f);
}
}
}
public static void main(String[] args)
{
File file = new File("filename");
getFileSize(file);
System.out.println("size is"+size+" numbers is "+number);
}
}