Java-IO读写文件简单操作

  Java中读写文件的关键在于节点流和处理流的的选取上,而节点流和处理流又分为面向字节、面向字符两种处理模式,因此,需要根据实际的情况选择合适的处理模式,一般而言,往往尽量尝试使用面向字符的处理模式,如果程序代码无法编译成功,再尝试使用面向字节的的处理模式。

1.节点流和处理流的分类(包括了面向字节和面向字符)

2.读文件

(1)创建文件路径对象

// 通过File创建文件路径对象
File filePath= new File("src/com/test/io/test.txt");

(2)创建节点流对象(面向字符的处理模式)

// 创建节点流对象(面向字符的处理模式)
FileReader fr = new FileReader(filePath);

(3)创建处理流包装节点流对象(面向字符的处理模式):

// 创建处理流包装节点流对象(面向字符的处理模式)
BufferedReader br = new BufferedReader(fr);

(4)读取文件内容(ready():告诉这个流是否准备好被读取。返回值类型:boolean)

// 读取文件内容
while(br.ready()){
    System.out.println(br.readLine());
}

(5)关闭处理流、节点流等

// 关闭处理流、节点流等
br.close();
fr.close();

(6)测试

新建文件:test.txt

代码文件:demo.java

package com.test.io;

import java.io.*;

public class demo {
    public static void main(String[] args) throws IOException {
        // 1.通过File创建文件路径对象
        File filePath= new File("src/com/test/io/test.txt");

        try {
            // 2.创建节点流对象(面向字符的处理模式)
            FileReader fr = new FileReader(filePath);

            // 3.创建处理流包装节点流对象(面向字符的处理模式)
            BufferedReader br = new BufferedReader(fr);

            // 4.读取文件内容
            while(br.ready()){
                System.out.println(br.readLine());
            }

            // 5.关闭处理流、节点流等
            br.close();
            fr.close();
            
        } catch (FileNotFoundException e) {
            e.printStackTrace();
        }

    }
}    

运行截图:

3.写文件

(1)创建文件路径对象

// 通过File创建文件路径对象
File filePath = new File("src/com/test/io/test2.txt");

(2)创建节点流对象(面向字符的处理模式)

// 创建节点流对象(面向字符的处理模式)
 FileWriter fw = new FileWriter(filePath);

(3)创建处理流包装节点流对象(面向字符的处理模式):

// 创建处理流包装节点流对象(面向字符的处理模式)
BufferedWriter bw = new BufferedWriter(fw);

(4)写入数据

//写入数据
bw.write("ABCDED\r\n");
bw.write("一二三四");

(5)关闭处理流、节点流等

// 关闭处理流、节点流等
bw.close();
fw.close();

(6)测试:

代码文件:demo.java

package com.test.io;

import java.io.*;

public class demo {
    public static void main(String[] args) {
        // 1.通过File创建文件路径对象
        File filePath = new File("src/com/test/io/test2.txt");

        try {
            // 2.创建节点流对象(面向字符的处理模式)
            FileWriter fw = new FileWriter(filePath);

            // 3.创建处理流包装节点流对象(面向字符的处理模式)
            BufferedWriter bw = new BufferedWriter(fw);

            // 4.写入数据
            bw.write("ABCDED\r\n");
            bw.write("一二三四");

            // 5.关闭处理流、节点流等
            bw.close();
            fw.close();

        } catch (IOException e) {
            e.printStackTrace();
        }

    }
}

运行截图:

猜你喜欢

转载自www.cnblogs.com/xiaomingzaixian/p/9746904.html