在这个例子中,我们将写一个通用的方法来获取文件的大小,单位是字节、千字节、百万字节、GB、TB。
readableFileSize()
方法,以长类型传递文件的大小。readableFileSize()
方法返回代表文件大小的字符串(B,KB,MB,GB,TB)。import java.io.File;
import java.text.DecimalFormat;
/**
* This Java program demonstrates how to get file size in bytes, kilobytes, mega bytes, GB,TB.
* @author javaguides.net
*/
public class FileUtils {
/**
* Given the size of a file outputs as human readable size using SI prefix.
* <i>Base 1024</i>
* @param size Size in bytes of a given File.
* @return SI String representing the file size (B,KB,MB,GB,TB).
*/
public static String readableFileSize(long size) {
if (size <= 0) {
return "0";
}
final String[] units = new String[] {"B", "KB", "MB", "GB", "TB"};
int digitGroups = (int)(Math.log10(size) / Math.log10(1024));
return new DecimalFormat("#,##0.#").format(size / Math.pow(1024, digitGroups))
+ " " + units[digitGroups];
}
public static void main(String[] args) {
File file = new File("sample.txt");
String size = readableFileSize(file.length());
System.out.println(size);
}
}
输出。
64 B
增加文件并再次测试。
164 KB
版权说明 : 本文为转载文章, 版权归原作者所有 版权申明
原文链接 : https://www.javaguides.net/2018/07/how-to-get-file-size-in-bytes-kb-mb-gb.html
内容来源于网络,如有侵权,请联系作者删除!