讲解字符流读取数据的两种放方法
InputStreamRead类下面的方法
int read() // 一次读取一个字符数据
int read(char[] ch) // 一次读取一个字符数组的数据
需要注意的是 我们使用字节流 字符流读取数据的时候都是有两种方式,一个一个的读和一个数组一个数组的读
1.在一个一个读的时候读返回的都是int类型的数据我们要吧这个数据转化为字符类型的
方法 就是强制转换 System.out.print((char) data);
2.当我们使用一个数组一个数组的时候 要把字节数组或者字符数组转换为String类型的数据
方法就是使用String类型的构造方法,返回的都是一个String 类型的数据
String (byte[] bytes)
String (chat[] chars )
System.out.print(new String(ch,0,len));
代码
public static void main(String[] args) throws IOException {
//创建字节输入流对象
FileInputStream fis = new FileInputStream("C:\\Users\\Administrator\\IdeaProjects\\Day07\\a.txt");
//创建字符输入流对象
InputStreamReader isr = new InputStreamReader(fis);
/*
//一次读取一个字符
int data;
while ((data = isr.read()) != -1){
System.out.print((char) data);
}
*/
System.out.println("\n");
System.out.println("---------------------------------");
//一次读取 一个字符数组的数据
int len;
char ch[] = new char[1024];
while ((len = isr.read(ch)) != -1){
System.out.print(new String(ch,0,len));
}
//释放资源
isr.close();
}