注意:创建文件对象不写入任何内容,关闭了文件对象就没了(没有在磁盘上创建文件,所以程序运行后本地电脑上没有显示),但是如果创建的文件对象后写入数据,则会在磁盘上创建文件并保存下来。

File类:

1.构造方法:


函数

说明

File(File parent, String



child)

根据父目录 + 孩子文件路径,创建一个新的 File 实例

File(String pathname)

根据文件路径创建一个新的 File 实例,路径可以是绝对路径或者



相对路径

File(String parent, String



child)

根据父目录 + 孩子文件路径,创建一个新的 File 实例,父目录用



路径表示

public class File_Demo {
    public static void main(String[] args) {
        //根据文件路径创建一个新的 File 实例,路径可以是绝对路径或者相对路径
        File file = new File("E:/temp");
        System.out.println(file);
        //根据父目录 + 孩子文件路径,创建一个新的 File 实例
        File file1 = new File(file, "test\\hello.txt");
        System.out.println(file1);
        //根据父目录 + 孩子文件路径,创建一个新的 File 实例,父目录用路径表示
        File file2 = new File("E:/temp", "test/hello.txt");
        System.out.println(file2);
        
    }
}

File需要关闭文件吗 java file类java_System

2.其他常用方法:

修饰符及返回值类型

方法签名

说明

String

getParent()

返回 File 对象的父目录文件路径

String

getName()

返回 FIle 对象的纯文件名称

String

getPath()

返回 File 对象的文件路径

String

getAbsolutePath()

返回 File 对象的绝对路径

String

getCanonicalPath()

返回 File 对象的修饰过的绝对路径

import java.io.File;
import java.io.IOException;

public class File_Demo02 {
    public static void main(String[] args) throws IOException {
        System.out.println("-------用绝对路径创建文件:-------");
        //用绝对路径创建文件
        File file = new File("E:\\temp\\temp\\test.txt");
        //返回 File 对象的父目录文件路径
        System.out.println("父目录文件路径:"+file.getParent());
        //返回 FIle 对象的纯文件名称
        System.out.println("对象的纯文件名称:"+file.getName());
        //返回 File 对象的文件路径
        System.out.println("对象的文件路径:"+file.getPath());
        //返回 File 对象的绝对路径
        System.out.println("对象的绝对路径:"+file.getAbsolutePath());
        //返回 File 对象的修饰过的绝对路径
        System.out.println("修饰过的绝对路径:"+file.getCanonicalPath());
        System.out.println("-------用相对对路径创建文件:-------");
        //用相对路径创建文件
        file = new File(".\\test.txt");
        //返回 File 对象的父目录文件路径
        System.out.println("父目录文件路径:"+file.getParent());
        //返回 FIle 对象的纯文件名称
        System.out.println("对象的纯文件名称:"+file.getName());
        //返回 File 对象的文件路径
        System.out.println("对象的文件路径:"+file.getPath());
        //返回 File 对象的绝对路径
        System.out.println("对象的绝对路径:"+file.getAbsolutePath());
        //返回 File 对象的修饰过的绝对路径
        System.out.println("修饰过的绝对路径:"+file.getCanonicalPath());

    }
}

File需要关闭文件吗 java file类java_绝对路径_02

修饰符及返回值类型

方法签名

说明

boolean

exists()

判断 File 对象描述的文件是否真实存在

boolean

isDirectory()

判断 File 对象代表的文件是否是一个目录

boolean

isFile()

判断File对象代表的文件是否是一个普通文件

boolean

createNewFile()

根据File对象,自动创建一个空文件,成功后返回true

import java.io.File;
import java.io.IOException;

public class File_Is {
    public static void main(String[] args) throws IOException {
        File file = new File("E:\\temp\\test.txt");
        //判断 File 对象描述的文件是否真实存在
        System.out.println("判断 File 对象描述的文件是否真实存在:"+file.exists());
        //判断 File 对象代表的文件是否是一个目录
        System.out.println("判断 File 对象代表的文件是否是一个目录:"+file.isDirectory());
        //判断File对象代表的文件是否是一个普通文件
        System.out.println("判断File对象代表的文件是否是一个普通文件:"+file.isFile());
        System.out.println("----------------------");
        //根据File对象,自动创建一个空文件,成功后返回true
        System.out.println("根据File对象,自动创建一个真实存在的空文件:"+file.createNewFile());
        //判断 File 对象描述的文件是否真实存在
        System.out.println("判断 File 对象描述的文件是否真实存在:"+file.exists());
        //判断 File 对象代表的文件是否是一个目录
        System.out.println("判断 File 对象代表的文件是否是一个目录:"+file.isDirectory());
        //判断File对象代表的文件是否是一个普通文件
        System.out.println("判断File对象代表的文件是否是一个普通文件:"+file.isFile());
    }
}

File需要关闭文件吗 java file类java_java_03

File需要关闭文件吗 java file类java_File需要关闭文件吗 java_04

修饰符及返回值类型

方法签名

说明

boolean

delete()

根据File对象,删除文件,成功返回true

void

deleteOnExit()

根据File对象标注文件将被删除,删除动作会到JVM运行结束时才会进行

import java.io.File;

public class File_Delete {
    public static void main(String[] args) {
        File file = new File("E:\\temp\\test.txt");
        if(file.exists()){
            System.out.println("删除:"+file.delete());
        }
    }
}

File需要关闭文件吗 java file类java_System_05

File需要关闭文件吗 java file类java_文件路径_06

修饰符及返回值类型

方法签名

说明

String[]

list()

返回File对象代表的目录下的文件名

File[]

listFiles()

返回File对象代表的目录下的所有文件,以File对心表示

import java.io.File;
import java.util.Arrays;

public class File_list {
    public static void main(String[] args) {
        // 创建文件对象
        File file = new File("E:/temp");
        // 获取所有文件信息
        String[] list = file.list();
        System.out.println("文件名和目录名String: "+ Arrays.toString(list));
        // 获取所有文件信息
        File[] files = file.listFiles();
        System.out.println("文件名和目录名File: "+Arrays.toString(files));
    }
}

File需要关闭文件吗 java file类java_文件路径_07

修饰符及返回值类型

方法签名

说明

boolean

mkdir()

创建File对象代表的目录

boolean

mkdirs()

创建File对象代表的目录,如果必要会创建中间目录

import java.io.File;

public class File_mk {
    public static void main(String[] args) {
        // 创建File对象
        File file = new File("E:/temp/temp1");
        // 创建目录
        System.out.println("创建目录:" + file.mkdir());

        System.out.println("--------------------------------");
        // 创建File对象
        File file1 = new File("E:/temp/temp0/temp2/temp3/temp4");
        // 创建目录
        System.out.println("创建多级目录:" + file1.mkdirs());
    }
}

File需要关闭文件吗 java file类java_File需要关闭文件吗 java_08

File需要关闭文件吗 java file类java_java_09

File需要关闭文件吗 java file类java_java_10

修饰符及返回值类型

方法签名

说明

boolean

renameTo(File dest)

进行文件改名,也可以视为剪切粘贴操作

File需要关闭文件吗 java file类java_File需要关闭文件吗 java_11

import java.io.File;

public class File_rename {
    public static void main(String[] args) {
        // 创建文件对象
        File sourceFile = new File("E:/temp/test1.txt");
        File targetFile = new File("E:/temp/test.txt");
        // 重命名
        System.out.println("重命名" + sourceFile.renameTo(targetFile));
    }
}

File需要关闭文件吗 java file类java_File需要关闭文件吗 java_12

File需要关闭文件吗 java file类java_文件路径_13

修饰符及返回值类型

方法签名

说明

boolean

canRead()

判断用户是否对文件有读权限

boolean

canWrite()

判断用户是否对文件有写权限

File需要关闭文件吗 java file类java_java_14

import java.io.File;

public class File_WR {
    public static void main(String[] args) {
        File file = new File("E:/temp/test.txt");
        System.out.println("是否可读: " + file.canRead());
        System.out.println("是否可写: " + file.canWrite());
    }
}

File需要关闭文件吗 java file类java_System_15