字节流:字节流读取的是文件中的二进制数据,读到的数据并不会帮你转换成你看得懂的字符。
字符流:字符流会把读取到的二进制数据进行对应的编码与解码工作。 字符流 = 字节流 + 编码(解码)
输入字符流:
----------------| Reader 用于读取字符流的抽象类。
------------------------| FileReader 用于读取文件的输入字符流
FileReader的用法:
1.找到目标文件
2.建立数据的输入通道
3.读取文件数据
4.关闭资源
package com.cn.reader;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
/**
* Author:Liu Zhiyong(QQ:1012421396)
* Version:Version_1
* Date:2016年7月27日18:49:14
* Desc:
字节流:字节流读取的是文件中的二进制数据,读到的数据并不会帮你转换成你看得懂的字符。
字符流:字符流会把读取到的二进制数据进行对应的编码与解码工作。 字符流 = 字节流 + 编码(解码)
输入字符流:
----------------| Reader 用于读取字符流的抽象类。
------------------------| FileReader 用于读取文件的输入字符流
FileReader的用法:
1.找到目标文件
2.建立数据的输入通道
3.读取文件数据
4.关闭资源
*/
public class Demo2 {
public static void main(String[] args) throws IOException {
// readTest();
readTest2();
}
//使用缓冲字符数组读取文件
public static void readTest2() throws IOException{
//1.找到目标文件
File file = new File("F:/eclipseWorkspace20160629/20160629093238/src/com/cn/reader/Demo2.java");
//2.建立数据的输入通道
FileReader fileReader = new FileReader(file);
//3.建立缓冲字符数组读取文件数据
char[] buf = new char[1024];
int length = 0;
while((length = fileReader.read(buf)) != -1){
System.out.print(new String(buf, 0, length));
}
//4.关闭资源
fileReader.close();
}
public static void readTest() throws IOException{
//1.找到目标文件
File file = new File("F:/eclipseWorkspace20160629/20160629093238/src/com/cn/reader/Demo2.java");
//2.建立数据的输入通道
FileReader fileReader = new FileReader(file);
//3.读取数据
int content = 0;
while((content = fileReader.read()) != -1){
System.out.print((char)content);
}
//4.关闭资源
fileReader.close();
}
}