import java.io.*;
import java.util.Scanner;
public class ReadString {
static final String FileName="d:/student.txt";
public static void main(String[] args) throws IOException {
// TODO 自动生成的方法存根
String str;
InputStreamReader instr=new InputStreamReader(System.in); //定义输入文件类InputStreamReader
BufferedReader bufred=new BufferedReader(instr); //定义读入缓冲器 BufferedReader
OutputStreamWriter outstr=new OutputStreamWriter(System.out); //定义输出文件类OutputStreamWriter
BufferedWriter bufwt=new BufferedWriter(outstr); //定义写入缓冲器BufferedWriter
RandomAccessFile fisIn=new RandomAccessFile(FileName,"rw");//定义随机取类RandomAccessFile
try{
System.out.println("请输入内容(按<Enter>结束):\n");
str=bufred.readLine(); //读入流对象通过调用方法readLine()实现按行读取信息
System.out.println("在路径 "+FileName+"中存储内容…\n");
fisIn.writeBytes(str); //将读取的信息写入文件流对象fisIn中
System.out.println("输出内容:\n");
bufwt.write(str); //将信息强制输出
bufwt.write((int)('\n')); //将信息强制输出
bufwt.flush(); //将信息强制输出
}
catch(IOException ex){
System.out.println("输入/输出异常!");
}
}
}
运行结果
分析:通过键盘输入字符流,并通过类Buffered-Reader缓存输入字符流,最后保存到文件。在输出时,通过类BufferedWriter缓存输出字符流,实现信息的输出。
知识点:字符流通过抽象类Reader、Writer的子类来实现对字符流的处理,对每个抽象类而已,它们都有相应的子类来实现具体功能。