IO流

一、文件

1. 概念

  • 文件流

image.png

2. 常用操作

(1) 创建文件对象相关构造器和方法

image.png
示例:

  1. 方式一:new File(String pathname)
public void creat01() {
    String filePath = "E:\\A开发学习及代码练习\\Java\\java-code-exercise\\B练习\\Demo5文件\\news1.txt";
    File file = new File(filePath);

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

image.png

  1. 方式二:new File(File parent,String child)
public void create02() {
    File pathFile = new File("E:\\A开发学习及代码练习\\Java\\java-code-exercise\\B练习\\Demo5文件\\");
    String fileName = "news2.txt";
    //这里的file对象,在java程序中,只是一个对象
    //只有执行了createNewFile方法,才会真正的在磁盘创建该对象
    File file = new File(pathFile, fileName);
    try {
        file.createNewFile();
        System.out.println("文件创建成功");
    } catch (IOException e) {
        e.printStackTrace();
    }
}

image.png
image.png

  1. 方式三:new File(String parent,String child)
public void create03() {
    String parentPath = "E:\\A开发学习及代码练习\\Java\\java-code-exercise\\B练习\\Demo5文件\\";
    String fileName = "news3.txt";
    File file = new File(parentPath, fileName);
    try {
        file.createNewFile();
        System.out.println("文件创建成功");
    } catch (IOException e) {
        e.printStackTrace();
    }
}

image.png

(2) 获取文件的相关信息

image.png
示例:

public void info() {
    //先创建文件对象
    File file = new File("E:\\A开发学习及代码练习\\Java\\java-code-exercise\\B练习\\Demo5文件\\news1.txt");

    //调用相应的方法,得到对应的信息
    System.out.println("文件名字=" + file.getName());
    System.out.println("文件绝对路径=" + file.getAbsolutePath());
    System.out.println("文件父级目录=" + file.getParent());
    System.out.println("文件大小(字节)=" + file.length());
    System.out.println("文件是否存在=" + file.exists());
    System.out.println("是不是一个文件=" + file.isFile());
    System.out.println("是不是一个目录=" + file.isDirectory());
}

image.png

(3)目录的操作和文件删除

image.png
示例1:

//判断 E:\A开发学习及代码练习\Java\java-code-exercise\B练习\Demo5文件\news1.txt 是否存在,如果存在就删除
@Test
public void m1() {
    String filePath = "E:\\A开发学习及代码练习\\Java\\java-code-exercise\\B练习\\Demo5文件\\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:

//判断 E:\A开发学习及代码练习\Java\java-code-exercise\B练习\Demo5文件\\demo_test 是否存在,存在就删除,否则提示不存在
//在java中,目录也会被当成文件
@Test
public void m2() {
    String filePath = "E:\\A开发学习及代码练习\\Java\\java-code-exercise\\B练习\\Demo5文件\\demo_test";
    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:

//判断 E:\A开发学习及代码练习\Java\java-code-exercise\B练习\Demo5文件\\a\\b\\c 目录是否存在,如果存在就提示已经存在
//否则创建
@Test
public void m3() {
    String directoryPath = "E:\\A开发学习及代码练习\\Java\\java-code-exercise\\B练习\\Demo5文件\\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 + " 创建失败...");
        }
    }
}

运行结果:
image.png
image.png

二、IO流原理及流的分类

IO流原理:

image.png
image.png

流的分类

image.png

1. InputStream

InputStream 抽象类是所有类字节输入流的超类。
image.png

(1) FileInputStream 文件输入流

image.png

(2) BufferedInputStream 缓冲字节输入流

(3) ObjectInputStream 对象字节输入流

2. Reader

(1) FileReader

(2) BufferedReader

(3) InputStreamReader

3. OutputStream

4. Writer

三、节点流和处理流

四、输入流

五、输出流

六、Properties类

posted @   interestinmachine  阅读(13)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
点击右上角即可分享
微信分享提示