File对象

创建一个 File 对象

File dummyFile = new File("test.txt");

test.txt的文件不是必须存在的,使用此语句可以创建File对象。

使用File对象,我们可以创建新文件,删除现有文件,重命名文件,更改文件的权限等。

当前工作目录

JVM的当前工作目录是根据我们如何运行java命令来设置的。

我们可以通过读取user.dir系统属性来获取JVM的当前工作目录,如下所示:

String  workingDir = System.getProperty("user.dir");

常用的获取功能

getAbsolutePath()获取绝对路径

getPath() 获取路径

getName() 获取名称

getParent()获取上层文件目录路径。若无,返回null

length()获取文件长度(即:字节数)。不能获取目录的长度。

lastModified()获取最后一次的修改时间,毫秒值

如下的两个方法适用于文件目录:

public String[] list() 获取指定目录下的所有文件或者文件目录的名称数组

public File[] listFiles() 获取指定目录下的所有文件或者文件目录的File数组

常用的判断

isDirectory()判断是否是文件目录

isFile()判断是否是文件

exists()判断是否存在

常用的创建

createNewFile()创建文件。若文件存在,则不创建。

mkdirs()创建文件目录。如果上层目录不存在,一并创建。

注意:如果你创建文件或者文件目录没有写盘符路径,默认在项目路径下。

删除

delete()删除文件或者文件夹。

注意:Java中的删除不会走回收站,要删除一个文件目录,里面不能包含有内容。

重命名

renameTo(File dest):把文件重命名为指定的文件路径

注意:file1.renameTo(file2)为例:要想保证返回true,需要file1在硬盘中是存在的,且file2不能在硬盘中存在。

例如:

public class IOTest {
    public static void main(String[] args) throws IOException {
        File file = new File("test.txt");
        if (!file.exists()){
            file.createNewFile();
        }
        File file2 = new File("test2.txt");
        System.out.println(file.renameTo(file2));
    }
}

文件分隔符

不同的操作系统使用不同的字符来分隔路径名中的两个部分。

例如,Windows在路径名中使用反斜杠(\)作为名称分隔符,而UNIX使用正斜杠(/)。

File类定义了一个名为分隔符Char的常量,它是系统相关的名称分隔符。

我们可以使用File.separator Char常量来获取名称分隔符作为字符。

File.separator 常量将我们的名称分隔符作为String。在程序中使用名称分隔符将使您的Java代码在不同的平台上工作。


Last modification:June 13, 2020
如果觉得我的文章对你有用,请随意赞赏