如何在java中获取文件夹大小
我要获取文件夹大小并重命名它, 如果我的文件夹大小超过500 mbs,请重命名文件夹,下载至MusicDownload如何在java中获取文件夹大小,java,Java,我要获取文件夹大小并重命名它, 如果我的文件夹大小超过500 mbs,请重命名文件夹,下载至MusicDownload import java.io.File; class folderSize { private static long getFolderSize(File folder) { long length = 0; File[] files = folder.listFiles(); int count = file
import java.io.File;
class folderSize {
private static long getFolderSize(File folder)
{
long length = 0;
File[] files = folder.listFiles();
int count = files.length;
for (int i = 0; i < count; i++) {
if (files[i].isFile())
length += files[i].length();
}
else {
length += getFolderSize(files[i]);
}
}
return length;
}
public static void main(String[] args)
{
File file1 = new File("/storage/emulated/0/Download");
long size = getFolderSize(file1);
System.out.println("Size of " + file1 + " is "+ (long)size / (1024 * 1024)+ " MB");
}
}
导入java.io.File;
类文件夹大小{
私有静态长getFolderSize(文件文件夹)
{
长长度=0;
File[]files=文件夹.listFiles();
int count=files.length;
for(int i=0;i
如果您使用的是java8,则可以获得如下所示的目录大小
long size = 0;
try (Stream<Path> walk = Files.walk(pathOfDirectory)) {
size = walk
.filter(Files::isRegularFile)
.mapToLong(p -> {
try {
return Files.size(p);
} catch (IOException e) {
System.out.printf("Failed to get size of %s%n%s", p, e);
return 0L;
}
})
.sum();
} catch (IOException e) {
System.out.printf("IO errors %s", e);
}
长尺寸=0;
try(Stream walk=Files.walk(pathOfDirectory)){
尺寸=步行
.filter(文件::isRegularFile)
.mapToLong(p->{
试一试{
返回文件大小(p);
}捕获(IOE异常){
System.out.printf(“无法获取%s%n%s的大小”,p,e);
返回0升;
}
})
.sum();
}捕获(IOE异常){
System.out.printf(“IO错误%s”,e);
}
请阅读“如何创建一个应用程序”。然后使用链接改进您的问题(不要通过评论添加更多信息)。否则,我们无法回答您的问题并帮助您。你告诉我们你想要什么,然后你扔掉了一些代码。但是你的确切问题是什么呢?这些路径表明你在谈论Android。与“普通”Java相比,Android在文件I/O(主要是权限)方面非常特殊。如果合适的话,你真的应该编辑你的问题来添加标签,并解释具体问题是什么以及你需要帮助的地方。