简介:字符流的数据储存单位是char,常用于文本的处理。其中可分为普通字符流和缓冲字符流。
一、普通字符流:
构造对象:使用时需要处理异常
输入流:FileReader fr=new FileReader( String filePath ); .read()读 丨 .close()关闭
输出流:FileWriter fw=new FileWriter( String filePath );.write()写 丨 .flush:刷新 丨 .close()关闭
public class CharInput {
public static void main(String[] args) {
try {
File file=new File("C:\\AppData\\EclipsRead.txt");
FileReader fr=new FileReader(file);//路径
FileWriter fw=new FileWriter(file);//
fw.write("i\nam\nGood\nBoy");//写入输入
fw.flush();//刷新输出流,写入完成需要刷新
fw.close();//关闭输出流
char[] ch=new char[13];//
fr.read(ch, 0, ch.length);
System.out.println(ch);
fr.close();
} catch (Exception e) {
// TODO 自动生成的 catch 块
e.printStackTrace();
}
}
二、缓冲字符流:自带缓冲区,提高读取操作效率
构造对象:
输入流:BufferedReader br=new BufferedReader( fr ); .readLine:读取一行,String类型
输出流:BufferedWriter bw=new BufferedWriter(fw ); .write()写入
public static void main(String[] args) {
BufferedReader br=null;
BufferedWriter bw=null;
try {
FileReader file=new FileReader("C:\\AppData\\EclipsRead.txt");
FileWriter files=new FileWriter("c:/AppData/OutE.txt");
br=new BufferedReader(file);
bw=new BufferedWriter(files);
bw.write("i\nam\nGood\nBoy");//写入输入
bw.flush();//刷新输出流
String st=br.readLine();//一次读取一行
while(st!=null){
System.out.println(st);
st=br.readLine();
}
} catch (Exception e) {
// TODO 自动生成的 catch 块
e.printStackTrace();
}finally{
try {
br.close();//关闭输入流
bw.close();//关闭输出流
} catch (IOException e) {
e.printStackTrace();
}
}
}