互联网上有一些关于C#计算文件夹大小的文献。但是找不到Java。
在互联网上,有几个例子是关于C#和powershell的(2)。用Java有什么办法吗?
据我所知,Azure Data Lake Gen2中没有直接提供文件夹大小的API。
递归地做:
DataLakeServiceClient dataLakeServiceClient = new DataLakeServiceClientBuilder()
.credential(new StorageSharedKeyCredential(storageAccountName, secret))
.endpoint(endpoint)
.buildClient();
DataLakeFileSystemClient container = dataLakeServiceClient.getFileSystemClient(containerName);
/**
* Returns the size in bytes
*
* @param folder
* @return
*/
@Beta
public Long getSize(String folder) {
DataLakeDirectoryClient directoryClient = container.getDirectoryClient(folder);
if (directoryClient.exists()) {
AtomicInteger count = new AtomicInteger();
return directoryClient.listPaths(true, false, null, null)
.stream()
.filter(x -> !x.isDirectory())
.mapToLong(PathItem::getContentLength)
.sum();
}
throw new RuntimeException("Not a valid folder: " + folder);
}
这递归地遍历文件夹并获得大小。
每页默认记录为5000条。从文档:
recursive–指定调用是否应递归地包括所有路径。
用户原则名称返回-如果"true",则在x-ms-所有者、x-ms-组和x-ms-acl响应标头中返回的用户标识值将从Azure Active Directory对象ID转换为用户主体名称。如果"false",这些值将作为Azure Active Directory对象ID返回。默认值为false。请注意,组和应用程序对象ID没有翻译,因为它们没有唯一的友好名称。
maxResults–指定每页返回的最大Blob数,包括所有BlobPrefix元素。如果请求未指定maxResults或指定的值大于5000,则服务器每页最多将返回5000个项目。如果按页迭代,则传递给PagedItemerable等byPage方法的页大小。iterableByPage(int)将优先于此值。
超时-一个可选的超时值,超过该值将引发运行异常。
问题内容: 如何在Java中检索文件夹或文件的大小? 问题答案: 如果文件不存在,则以字节为单位返回文件的长度。没有内置的方法来获取文件夹的大小,你将不得不递归遍历目录树(使用代表目录的文件对象的方法)并为自己积累目录大小: 警告:此方法不足以用于生产。可能返回并导致。另外,它不考虑符号链接,并且可能具有其他故障模式。
我想获取文件夹大小并重命名它,如果我的文件夹大小超过500 mbs然后重命名文件夹,下载到MusicDownload
问题内容: 我想使用python快速找到任何文件夹的总大小。 这是我编写的用于获取文件夹总大小的简单脚本,大约花费了60秒(+ -5秒)。通过使用多处理,我在四核计算机上将其缩短到23秒。 使用Windows文件浏览器仅需约3秒钟(右键单击->属性即可自行查看)。那么,有没有一种更快的方法来找到文件夹的总大小,使其接近Windows可以达到的速度? Windows 7,python 2.6(搜索,
问题内容: 我需要使用文件夹中文件的所有名称创建一个列表。 例如,如果我有: 我想将它们存储为 with 作为值。 用Java做到最好的方法是什么? PS:我在Mac OS X上 问题答案: 你可以这样做: 你只想获取JPEG文件还是所有文件?
我想通过使用“文件类”从项目文件夹中获取文件,我如何做到这一点?
问题内容: 我想使用“文件类”从项目文件夹中获取文件,我该怎么办? 问题答案: 嗯,有很多不同的方法来获取Java文件,但这是一般要点。 不要忘记,您至少需要将其包装在a 中,因为File是其中的一部分,这意味着它必须具有try-catch块。 不是要解决Ericson的问题,而是如果您使用的是实际的软件包,则除非明确使用文件的位置,否则文件的位置将有问题。相对路径与Packages混为一谈。 即