File类的概述

java.io.File

  1. 凡是与输入、输出相关的类、接口等都定义在java.io包下
  2. File是一个类,可以有构造器创建其对象。此对象对应着一个文件或者文件目录
  3. File类对象是与平台无关的
  4. File中的方法,仅涉及到如何创建、删除、重命名等等。只要涉及到文件内容的,File是无能为力的,必须由io流来完成
  5. File类的对象常作为io流的具体类的构造器的形参
    代码实现
import java.io.File;

public class TestFile {
    public static void main(String[] args) {
        //绝对路径
        File file = new File("//Users//leeakita//IdeaProjects//file//my.txt");
        //相对路径
        File file1 = new File("my.txt");
    }
}

File类的常用方法

访问文件名相关方法

getName()

功能说明
获取文件的文件名
代码实现

import java.io.File;

public class TestFile {
    public static void main(String[] args) {
        File file = new File("filedir/my.txt");
        System.out.println(file.getName());
    }
}

运行结果

Java new File 云端文件 java.io.file_Java new File 云端文件

getPath()

功能说明
获取文件的相对路径
代码实现

import java.io.File;

public class TestFile {
    public static void main(String[] args) {
        File file = new File("filedir/my.txt");
        System.out.println(file.getPath());
    }
}

运行结果

Java new File 云端文件 java.io.file_后端_02

getAbsoluteFile()

功能说明
获取带绝对路径的文件名
代码实现

import java.io.File;

public class TestFile {
    public static void main(String[] args) {
        File file = new File("filedir/my.txt");
        System.out.println(file.getAbsoluteFile());
    }
}

运行结果

Java new File 云端文件 java.io.file_后端_03

getAbsolutePath()

功能说明
获取文件的绝对路径
代码实现

import java.io.File;

public class TestFile {
    public static void main(String[] args) {
        File file = new File("filedir/my.txt");
        System.out.println(file.getAbsolutePath());
    }
}

运行结果

Java new File 云端文件 java.io.file_后端_04

getParent()

功能说明
获取该文件的上一层文件名
代码实现

import java.io.File;

public class TestFile {
    public static void main(String[] args) {
        File file = new File("filedir/my.txt");
        System.out.println(file.getParent());
    }
}

运行结果

Java new File 云端文件 java.io.file_代码实现_05

file1.renameTo(file2)

功能说明
将file1的文件名改为file2的文件名称,要求file1必须存在,file2必须不存在,否则修改不成功,会报错
代码实现

import java.io.File;

public class TestFile {
    public static void main(String[] args) {
        File file1 = new File("filedir/my.txt");
        File file2 = new File("filedir/out.txt");
        System.out.println(file1.renameTo(file2));
    }
}

运行结果

修改之前

Java new File 云端文件 java.io.file_java_06

修改之后

Java new File 云端文件 java.io.file_后端_07


Java new File 云端文件 java.io.file_Java new File 云端文件_08

文件检测相关方法

exists()

功能实现
判断file对象对应的文件或者文件夹是否存在,如果存在返回true,否则返回false
代码实现

import java.io.File;

public class TestFile {
    public static void main(String[] args) {
        File file = new File("filedir/my.txt");
        File no_file = new File("filedir/out.txt");
        System.out.println(file.exists());
        System.out.println(no_file.exists());
    }
}

运行结果

Java new File 云端文件 java.io.file_Java new File 云端文件_09

canWrite()

功能说明
判断file对象对应的文件是否可写
代码实现

import java.io.File;

public class TestFile {
    public static void main(String[] args) {
        File file = new File("filedir/my.txt");
        System.out.println(file.canWrite());
    }
}

运行结果

Java new File 云端文件 java.io.file_Java new File 云端文件_10

canRead()

功能说明
判断file对象对应的文件是否可读
代码实现

import java.io.File;

public class TestFile {
    public static void main(String[] args) {
        File file = new File("filedir/my.txt");
        System.out.println(file.canRead());
    }
}

运行结果

Java new File 云端文件 java.io.file_java_11

isFile()

功能说明
判断file对象对应的是否是一个文件,如果是返回true,否则返回false
代码实现

import java.io.File;

public class TestFile {
    public static void main(String[] args) {
        File file = new File("filedir/my.txt");
        System.out.println(file.isFile());
    }
}

运行结果

Java new File 云端文件 java.io.file_后端_12

isDirectory()

功能说明
判断file对象对应的是否是一个文件夹,如果是返回true,否则返回false
代码实现

import java.io.File;

public class TestFile {
    public static void main(String[] args) {
        File file = new File("filedir/my.txt");
        System.out.println(file.isDirectory());
    }
}

运行结果

Java new File 云端文件 java.io.file_Java new File 云端文件_13

lastModified()

功能说明
返回file对象对应的文件或者文件夹最后的修改时间
代码实现

import java.io.File;
import java.util.Date;

public class TestFile {
    public static void main(String[] args) {
        File file = new File("filedir/my.txt");
        System.out.println(new Date(file.lastModified()));
    }
}

运行结果

Java new File 云端文件 java.io.file_Java new File 云端文件_14

length()

功能说明
返回file对象对应的文件的大小,例如文件内部有五个字符,则返回五
代码实现

import java.io.File;
import java.util.Date;

public class TestFile {
    public static void main(String[] args) {
        File file = new File("filedir/my.txt");
        System.out.println(file.length());
    }
}

运行结果

Java new File 云端文件 java.io.file_代码实现_15

目录操作相关方法

createNewFile()

功能说明
创建一个file对象对应的文件
代码实现

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

public class TestFile {
    public static void main(String[] args) throws IOException {
        File file = new File("filedir/my.txt");
        System.out.println(file.createNewFile());
    }
}

运行结果

执行前

Java new File 云端文件 java.io.file_java_16

执行后

Java new File 云端文件 java.io.file_开发语言_17


Java new File 云端文件 java.io.file_java_18

delete()

功能说明
对file对象对应的文件执行删除操作
代码实现

import java.io.File;

public class TestFile {
    public static void main(String[] args) {
        File file = new File("filedir/my.txt");
        System.out.println(file.delete());
    }
}

运行结果

执行前

Java new File 云端文件 java.io.file_Java new File 云端文件_19

执行后

Java new File 云端文件 java.io.file_开发语言_20


Java new File 云端文件 java.io.file_开发语言_21

mkDir()

功能说明
创建一个目录,只有在上层文件目录存在的情况下,才能创建成功,并且返回true,否则返回false
代码实现

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

public class TestFile {
    public static void main(String[] args) throws IOException {
        File file = new File("filedir/my");
        System.out.println(file.mkdir());
    }
}

运行结果

执行前

Java new File 云端文件 java.io.file_后端_22


执行后

Java new File 云端文件 java.io.file_后端_23


Java new File 云端文件 java.io.file_代码实现_24

mkDirs()

功能说明
创建一个文件目录,若上层文件不存在,一并创建
代码实现

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

public class TestFile {
    public static void main(String[] args) throws IOException {
        File file = new File("filedir/lee/akita/wzz");
        System.out.println(file.mkdirs());
    }
}

运行结果

执行前

Java new File 云端文件 java.io.file_Java new File 云端文件_25


执行后

Java new File 云端文件 java.io.file_开发语言_26


Java new File 云端文件 java.io.file_开发语言_27

list()

功能说明
返回对应文件夹下面的所有文件,返回的形式是一个String数组
代码实现

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

public class TestFile {
    public static void main(String[] args) throws IOException {
        File file = new File("filedir/lee/akita");
        String[] list = file.list();
        for (String temp : list) {
            System.out.println(temp);
        }
    }
}

运行结果

Java new File 云端文件 java.io.file_后端_28


Java new File 云端文件 java.io.file_java_29

listFiles()

功能说明
返回对应文件夹下面的所有文件,返回的形式是一个File数组
代码实现

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

public class TestFile {
    public static void main(String[] args) throws IOException {
        File file = new File("filedir/lee/akita");
        File[] files = file.listFiles();
        for (File temp : files) {
            System.out.println(temp.getName());
        }
    }
}

运行结果

Java new File 云端文件 java.io.file_java_30


Java new File 云端文件 java.io.file_代码实现_31