IO流专题(01)——文件

1. 文件的相关概念

(1)、文件:用来保存数据的地方。

(2)、文件流:文件在程序中是以流的形式来操作的。以java程序(内存)作为参考点,分为输入和输出流。

  • 输入流:数据从数据源(文件)输入到java程序(内存)的路径
  • 输出流:数据从java程序(内存)输出到数据源(文件)的路径

在这里插入图片描述

2. 常用操作

2.1 创建文件的方式
  • 方式一:new File(String filePath).createNewFile()
  • 方式二:new File(String parent,String child).createNewFile()
  • 方式三:new File(File parent,String childPath).createNewFile()
2.1.1 方式一
import java.io.File;
import java.io.IOException;

public class FileCreate {

    public static void main(String[] args) {
        //方式一
        way1_create();
    }

    //方式一 new File(String pathname)
    public static void way1_create(){
        //指定文件路径及文件名
        String filePath = "e:/003_Demo/IO/new1.txt";
        //生成文件对象
        File file = new File(filePath);

        //调用createNewFile()方法在磁盘指定的路径创建文件
        try {
            file.createNewFile();
            System.out.println("方式一创建文件成功");
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

2.1.2 方式二
import java.io.File;
import java.io.IOException;

public class FileCreate {

    public static void main(String[] args) {
        //方式二
        way2_create();
    }
    //方式二 new File(String parent,String child),根据父路径+子路径及文件名构建
    public static void way2_create(){
        //指定父路径
        String parent = "e:/003_Demo";
        //指定子路径及文件名
        String child = "/IO/new2.txt";
        //生成文件对象
        File file = new File(parent,child);

        //调用createNewFile()方法在磁盘指定的路径创建文件
        try {
            file.createNewFile();
            System.out.println("方式二创建文件成功");
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}
2.1.3 方式三
import java.io.File;
import java.io.IOException;

public class FileCreate {

    public static void main(String[] args) {
        //方式三
        way3_create();
    }
    
    //方式三 new File(File parent,String childPath),根据父目录文件+子路径构建
    public static void way3_create(){
        //先生成父目录文件
        File parentPath = new File("e:/003_Demo/IO");
        //指定子路径
        String childPath = "/new3.txt";
        //生成文件对象
        File file = new File(parentPath,childPath);

        //调用createNewFile()方法在磁盘指定的路径创建文件
        try {
            file.createNewFile();
            System.out.println("方式三创建文件成功");
        } catch (IOException e) {
            e.printStackTrace();
        }
    }

}

在这里插入图片描述

2.2 获取文件的相关信息
  • 获取文件名:getName()
  • 获取绝对路径:getAbsolutePath()
  • 获取父路径:getParent()
  • 获取文件大小:length()
  • 判断文件是否存在:exists()
  • 判断是否是文件:isFile()
  • 判断是否是目录:isDirectory()
import java.io.File;

/**
 *  获取文件名:getName()
 *  获取绝对路径:getAbsolutePath()
 *  获取父路径:getParent()
 *  获取文件大小:length()
 *  判断文件是否存在:exists()
 *  判断是否是文件:isFile()
 *  判断是否是目录:isDirectory()
 */
public class FileInformation {

    public static void main(String[] args) {
        //新建一个文件对象
        String path = "e:/003_Demo/IO/new1.txt";
        File file = new File(path);

        //获取文件名
        System.out.println("file的名字:" + file.getName());
        //获取绝对路径
        System.out.println("file的绝对路径:" + file.getAbsolutePath());
        //获取父路径
        System.out.println("file的父路径:" + file.getParent());
        //获取文件大小
        System.out.println("file的大小:" + file.length());

        //判断文件是否存在
        System.out.println("file是否存在:" + file.exists());
        //判断是否是文件
        System.out.println("file是否是文件:" + file.isFile());
        //判断是否是目录
        System.out.println("file是否是目录:" + file.isDirectory());

    }
}

在这里插入图片描述

2.3 文件目录的操作和文件删除
  • 创建一级目录:mkdir()
  • 创建多级目录:mkdirs()
  • 删除空目录:delete(),(如果目录下有文件和子目录,需先删除)
  • 删除文件:delete()

在java中,删除空目录和删除文件是一样的,一个空目录所代表的文件夹会被当作一个特殊的文件进行删除。

2.3.1 删除文件
import java.io.File;

public class Directory {

    public static void main(String[] args) {
        //删除文件
        deleteFile();
    }

    //删除文件
    public static void deleteFile() {
        //指定文件路径
        String filePath = "e:/003_Demo/IO/new1.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("该文件不存在!");
        }

    }
}

e:/003_Demo/IO/new1.txt删除成功
2.3.2 删除目录
import java.io.File;

public class Directory {

    public static void main(String[] args) {
        //删除目录
        deletePath();
    }
    
    //删除目录(在java中,目录也被当作文件)
    public static void deletePath() {
        //指定目录
        String filePath = "e:/003_Demo/new";
        //生成文件对象
        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.3.3 创建目录
import java.io.File;

public class Directory {
    public static void main(String[] args) {
    
        //创建目录
        createPath();
    }
    //创建目录,判断e:/003_Demo/new目录是否存在,如果存在就提示已经存在,否则就创建
    public static void createPath() {
        //指定目录
        String dirPath = "e:/003_Demo/IO/new";
        //生成文件对象
        File file = new File(dirPath);
        //判断目录是否存在
        if (file.exists()){
            System.out.println("目录已经存在!");
        } else {
            //创建目录
            if (file.mkdirs()) {
                System.out.println(dirPath + "创建成功");
            } else {
                System.out.println(dirPath + "创建失败");
            }
        }

    }
}

e:/003_Demo/IO/new创建成功

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值