1. 文件

1.1 什么是文件  610

文件操作基础知识_文件操作

1.2 文件流  610

文件操作基础知识_java_02

2. 常用的文件操作  611

2.1 创建文件对象相关构造器和方法  611

2.1.1 相关方法  611

new File(String pathname) //根据路径构建一个File对象

new File(File parent, String child) //根据父目录文件+子路径构建

new File(String parent,String child) //根据父目录+子路径构建

createNewFile //创建新文件

文件操作基础知识_文件操作_03


文件操作基础知识_java_04

2.1.2 应用案例演示

请在e盘下,创建文件news1.txt、news2.txt、 news3.txt, 用三种不同方式创建

代码在com.stulzl.file.包中

FileCreate
package com.stulzl.file;

import org.junit.jupiter.api.Test;

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

//创建文件对象相关构造器和方法  611
//请在e盘下,创建文件news1.txt、news2.txt、 news3.txt, 用三种不同方式创建
public class FileCreate {
    public static void main(String[] args) {

    }

    //方式1 new File(String pathname) //根据路径构建一个File对象
    @Test  //受用Test这个系统提供的方法直接可以运行程序
    public void create01(){
        String filePath = "E:\\java学习\\初级\\course129\\news1.txt";//写创建文件的路径
        File file = new File(filePath);//这是系统提供的方法,创建一个file对象

        try {
            file.createNewFile();//这个也是系统提供的方法,创建文件news1.txt
            System.out.println("文件创建成功");
        } catch (IOException e) {
            e.printStackTrace();
        }
    }

    //方式2 new File(File parent, String child) //根据父目录文件+子路径构建
    @Test
    public void create02(){
        File parentFile = new File("E:\\java学习\\初级\\course129\\");//父文件路径
        String fileName = "news2.txt";//我们要创建的文件名字
        //这里的 file 对象,在 java 程序中,只是一个对象
        //只有执行了 createNewFile 方法,才会真正的,在磁盘创建该文件
        File file = new File(parentFile, fileName);//parentFile父文件,fileName被创建文件

        try {
            file.createNewFile();
            System.out.println("文件创建成功");
        } catch (IOException e) {
            e.printStackTrace();
        }

    }

    //方式3  new File(String parent,String child) //根据父目录+子路径构建
    @Test
    public void create03(){
        String parentFile = "E:\\java学习\\初级\\course129\\";//父目录
        String fileName = "news3.txt";//被创建文件名(提示没路径就写名字)
        File file = new File(parentFile, fileName);

        try {
            file.createNewFile();
            System.out.println("文件创建成功");
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

3. 获取文件的相关信息  612

getName(文件名字)、getAbsolutePath(绝对路径)、 getParent (父级目录)、length(文件字节大小)、 exists(文件是否存在)、isFile(是不是文件)、isDirectory(是不是一个目录)

文件操作基础知识_Test_05

3.1 应用案例演示

如何获取到文件的大小,文件名,路径,父File, 是文件还是目录(目录本质也是文件,一种特殊的文件),是否存在

代码在com.stulzl.file_information.包中

FileInformation
package com.stulzl.file_information;

import org.junit.jupiter.api.Test;

import java.io.File;

//获取文件的相关信息  612
//如何获取到文件的大小,文件名,路径,父File,   612
// 是文件还是目录(目录本质也是文件,一种特殊的文件),是否存在
public class FileInformation {
    public static void main(String[] args) {

    }
    //获取文件信息方法
    @Test
    public void info(){
        //先创建文件对象
        File file = new File("E:\\java学习\\初级\\course129\\news1.txt");

        //getName(文件名字)、getAbsolutePath(绝对路径)、 getParent (父级目录)、
        // length(文件字节大小)、 exists(文件是否存在)、isFile(是不是文件)
        // 、isDirectory(是不是一个目录)

        //调用相应的方法,得到对应信息
        //获取文件名
        System.out.println("文件名="+file.getName());//文件名=news1.txt

        //获取绝对路径
        System.out.println("绝对路径="+file.getAbsolutePath());

        //获取文件父级文件目录
        System.out.println("父级文件目录="+file.getParent());

        //文件大小
        System.out.println("文件大小(字节)="+file.length());

        //判断文件是否存在
        System.out.println("文件是否存在="+file.exists());//true

        //是不是一个文件
        System.out.println("是不是一个文件="+file.isFile());//true

        //是不是一个目录
        System.out.println("是不是一个目录="+file.isDirectory());//false
    }
}

4. 目录的操作和文件删除  613

mkdir创建一级目录、mkdirs创建多级目录、delete删除空目录或文件

文件操作基础知识_Test_06

4.1 应用案例演示  613

1)判断E:\\java学习\\初级\\course129\\news1.txt 是否存在,如果存在就删除

2)判断D:\\demo02是否存在,存在就删除,否则提示不存在

3)判断D:\\demo\\a\\b\\c目录是否存在,如果存在就提示已经存在,否则就创建

代码在com.stulzl.file_directory.包中

Directory_ 

package com.stulzl.file_directory;

import org.junit.jupiter.api.Test;

import java.io.File;

//目录的操作和文件删除  613
//1)判断E:\\java学习\\初级\\course129\\news1.txt 是否存在,如果存在就删除
//2)判断D:\\demo02是否存在,存在就删除,否则提示不存在
//3)判断D:\\demo\\a\\b\\c目录是否存在,如果存在就提示已经存在,否则就创建
public class Directory_ {
    public static void main(String[] args) {

    }
    //1)判断E:\\java学习\\初级\\course129\\news1.txt 是否存在,如果存在就删除
    @Test
    public void m1(){
        String filePath = "E:\\java学习\\初级\\course129\\news1.txt";
        File file = new File(filePath);
        if(file.exists()){//判断文件是否存在
            if(file.delete()){//调用删除方法
                System.out.println(filePath+"删除成功");
            }else{
                System.out.println(filePath+"删除失败");
            }
        }else{
            System.out.println("该文件不存在");
        }
    }

    //2)判断D:\\demo02是否存在,存在就删除,否则提示不存在
    //提示在java编程中,目录也被当作文件看待
    @Test
    public void m2(){
        String filePath = "D:\\demo02";
        File file = new File(filePath);
        if(file.exists()){//判断目录是否存在
            if(file.delete()){//调用删除方法
                System.out.println(filePath+"删除成功");
            }else{
                System.out.println(filePath+"删除失败");
            }
        }else{
            System.out.println("该目录不存在");
        }
    }

    //3)判断D:\\demo\\a\\b\\c目录是否存在,如果存在就提示已经存在,否则就创建
    @Test
    public void m3(){
        String directoryPath = "D:\\demo\\a\\b\\c";
        File file = new File(directoryPath);
        if(file.exists()){//判断目录是否存在
            System.out.println(directoryPath+"存在");
        }else{
            if(file.mkdirs()){//创建多级目录
                System.out.println(directoryPath+"创建成功");
            }else{
                System.out.println(directoryPath+"创建失败");
            }
        }
    }
}