理解:输入流:就是从硬盘输入到内存(Reader方法:可以理解为将硬盘的东西读到内存中); 输出流:从内存输出到硬盘(write方法:可以理解为写在硬盘内)
Reader(输入流)和Writer(输出流):是抽象类, 要被继承实现
文件字符输入流:
read() 字符流读取方法返回的是一个 编号(对应的ASCII码编号), 想要内容,直接强转(用char)
package com.itheima.d6_char_stream;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.Reader;
public class FileReaderDemo01 {
public static void main(String[] args) throws Exception {
// 目标:每次读取一个字符
// 1. 创建一个字符输入流(读)管道与源文件接通
Reader fr = new FileReader("file-io-app\\src\\data.txt");
// // 2. 读取一个字符返回,没有可读的字符了返回 -1
// // public int read(): 读取一个字符的编号返回!读取完毕返回-1
// int code = fr.read(); // 返回一个int类型的编号
// // 爱 后面是英文字母也能拿 只看字符 不看字节
// System.out.println((char) code); // 编号97,转换成字符类型会查ASCII码表,转换成对应的字符
//
// int code1 = fr.read(); // 读取下一个字符
// System.out.println((char) code);
// 3. 使用循环读取字符
int code;
while ((code = fr.read()) != -1){
// 读到了文件 用循环将文件的每个字符,逐个打印出来
System.out.print((char) code);
}
}
}