流的分流:
普通流:
- 按流向
- 按读取数据单元
- 转换流:
InputStreamReader
OutputStreamWriter
高级流:不能直接作用于文件,要装载普通流/转换流
- 缓冲流:带有缓冲区
- 二进制流
- 对象流:
Reader类
常用方法:
int read( )
int read(char[] c)
read(char[] c,int off,int len)
void close( )
子类InputStreamReader常用的构造方法
InputStreamReader(InputStream in)
InputStreamReader(InputStream in,String charsetName)
FileReader类
FileReader类是InputStreamReader的子类
FileReader(File file)
FileReader(String name)
该类只能按照本地平台的字符编码来读取数据,用户不能指定其他的字符编码类型
System.out.println(System.getProperty(“file.encoding”)); 获得本地平台的字符编码类型
BufferedReader类
BufferedReader类是Reader类的子类
BufferedReader类带有缓冲区
按行读取内容的readLine()方法
常用的构造方法:
BufferedReader(Reader in)
实现步骤:
BufferReader静态代码块
public static String readBuffer(String path) {
FileReader fr=null;
BufferedReader br=null;
String str=null;
try {
fr=new FileReader(path);
br=new BufferedReader(fr);
String s=null;
StringBuffer sb=new StringBuffer();
while((s=br.readLine())!=null){
sb.append(s+"\r\n");
}
str=sb.toString();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} finally {
try {
br.