Bạn có thể sử dụng Apache Commons IO
để tìm kích thước thư mục một cách dễ dàng.
Nếu bạn đang sử dụng maven, vui lòng thêm phần phụ thuộc sau vào pom.xml
tệp của bạn .
<!-- https://mvnrepository.com/artifact/commons-io/commons-io -->
<dependency>
<groupId>commons-io</groupId>
<artifactId>commons-io</artifactId>
<version>2.6</version>
</dependency>
Nếu không phải là fan của Maven, hãy tải xuống jar sau và thêm nó vào đường dẫn lớp.
https://repo1.maven.org/maven2/commons-io/commons-io/2.6/commons-io-2.6.jar
public long getFolderSize() {
File folder = new File("src/test/resources");
long size = FileUtils.sizeOfDirectory(folder);
return size; // in bytes
}
Để nhận kích thước tệp qua Commons IO,
File file = new File("ADD YOUR PATH TO FILE");
long fileSize = FileUtils.sizeOf(file);
System.out.println(fileSize); // bytes
Nó cũng có thể đạt được thông qua Google Guava
Đối với Maven, hãy thêm những thứ sau:
<!-- https://mvnrepository.com/artifact/com.google.guava/guava -->
<dependency>
<groupId>com.google.guava</groupId>
<artifactId>guava</artifactId>
<version>28.1-jre</version>
</dependency>
Nếu không sử dụng Maven, hãy thêm phần sau vào đường dẫn lớp
https://repo1.maven.org/maven2/com/google/guava/guava/28.1-jre/guava-28.1-jre.jar
public long getFolderSizeViaGuava() {
File folder = new File("src/test/resources");
Iterable<File> files = Files.fileTreeTraverser()
.breadthFirstTraversal(folder);
long size = StreamSupport.stream(files.spliterator(), false)
.filter(f -> f.isFile())
.mapToLong(File::length).sum();
return size;
}
Để có kích thước tệp,
File file = new File("PATH TO YOUR FILE");
long s = file.length();
System.out.println(s);