File.length详解

发布时间:2023-05-20

一、定义和介绍

java.io.File 类中,length() 方法返回文件的长度,以字节为单位。File 类中的 length() 方法可以判断该文件是否存在和文件的长度,可以通过此方法获取文件的大小。 如果文件不存在,length() 方法将返回 0。

二、获取文件长度

可以创建一个 File 对象,然后使用它的 length() 方法获取文件的长度:

File file = new File("file.txt");
long length = file.length();
System.out.println("File length in bytes is : " + length);

三、文件大小的单位换算

文件的大小默认以字节为单位,但是有时候我们想要以更人性化的方式展示文件的大小,如 MB 或 GB 等。下面是一个实现将文件大小转换成更易读的格式的函数:

/**
 * 将文件长度转换为更人性化的格式
 * @param size 文件大小,单位为字节
 * @return 文件大小,单位为B、KB、MB、GB或TB
 */
public String formatFileSize(long size) {
    if (size >= 1024 * 1024 * 1024) {// 如果文件大小大于等于1GB
        return String.format("%.2f GB", size / (1024.0 * 1024.0 * 1024.0));
    } else if (size >= 1024 * 1024) {// 如果文件大小大于等于1MB
        return String.format("%.2f MB", size / (1024.0 * 1024.0));
    } else if (size >= 1024) {// 如果文件大小大于等于1KB
        return String.format("%.2f KB", size / 1024.0);
    } else {// 如果文件大小小于1KB
        return String.format("%.2f B", (double) size);
    }
}

四、判断文件是否存在

可以使用 exists() 方法来判断文件是否存在,如果文件存在则返回 true,否则返回 false

File file = new File("file.txt");
if(file.exists()){
    long length = file.length();
    System.out.println("File length in bytes is : " + length);
}else{
    System.out.println("File does not exist.");
}

五、删除文件

可以使用 delete() 方法删除一个文件,delete() 方法返回一个布尔值,表示删除是否成功。

File file = new File("file.txt");
if(file.delete()){
    System.out.println("File deleted successfully.");
}else{
    System.out.println("Failed to delete file.");
}

六、总结

File.length() 方法是一个非常有用的方法,可以帮助我们判断文件是否存在,获取文件的大小,以及对文件进行删除等操作。通过对它的深入理解和应用,可以更好地完成文件操作相关的编程工作。