1.字符输入流
//字符输入流类:Reader
//FileReader:从文件读取的输入流
//BufferedReader:缓冲输入字符流
package com.newdream.IO;
import java.io.BufferedReader;
import java.io.FileReader;
public class CharIOReader {
public static void main(String[] args) {
//申请缓存区并初始化
BufferedReader br=null;
try{
//把文件内容放到缓存区
FileReader fr=new FileReader("f://test//test.txt");
//从缓冲区读取数据
br=new BufferedReader(fr);
//使用while 读出数据
while(br.read()!=-1){ //read()函数原型返回值为-1 为-1读取结束
String date=br.readLine();
System.out.println(date);//在控制面板输出读取内容
}
}catch(Exception e){
System.out.println(e.toString());
}finally{ //不管成功与否 finally里的代码都会执行
try{
//关闭缓存区
br.close();
}catch(Exception e){
System.out.println(e.toString());
}
}
}}
2.字符输出流
//字符输出流类:Writer
//FileWriter:输出到文件的输出流
//BufferedWriter:缓冲输出字符流
//BufferedReader:缓冲输入字符流
package com.newdream.IO;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.FileWriter;
import java.io.StringReader;
public class CharIOWriter {
//1.需要写入到文件的数据
private static String data="abcdefg123456";
public static void main(String[] args) {
String line; //用来控制写文件结束
BufferedWriter bw=null; //写入缓存区
BufferedReader br=null; //读取缓存区
try{
FileWriter fr=new FileWriter("f://test//test_write.txt");
bw=new BufferedWriter(fr);
//先读取子都到字符流,再把字符流存到读取流中
br=new BufferedReader(new StringReader(data));
//readLine() 为null 表示没有内容了,结束
while((line=br.readLine())!=null){
bw.write(line);
//写入一行后,刷新一下,写下一行
bw.flush();
}
System.out.println("写入成功!");
}catch(Exception e){
System.out.println(e.toString());
}finally {
try{
//关闭缓存区 :先打开后关闭,后打开先关闭
br.close();
bw.close();
}catch(Exception e){
System.out.println(e.toString());
}
}
}
}