IO流--字符流

时间:2023-03-09 03:11:11
IO流--字符流
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.io.LineNumberReader;
import java.nio.Buffer; public class io {
public static void main(String[] args) throws IOException
{
//写入文件
//创建一个字符写入流对象
FileWriter fw = new FileWriter("buf.txt");
//为了提高字符写入流效率 加入缓冲技术
//只要将需要被提高效率的流对象作为参数传递给缓冲区的构造函数
BufferedWriter bufw = new BufferedWriter(fw); for(int i=1;i<3;i++)
{
bufw.write("abcd"+i);
bufw.newLine();
//只要用到了缓冲区 就要刷新
bufw.flush();
}
//关闭缓冲区,就是在关闭缓冲区中的流对象
bufw.close(); //读取文件
//创建一个读取流对象和文件相关联
FileReader fr=new FileReader("buf.txt");
//为了提高效率 加入缓冲技术 将字符读取流对象作为参数传递给缓冲对象的构造函数
BufferedReader bufr=new BufferedReader(fr);
String line=null;
while((line=bufr.readLine())!=null)
{
System.out.println(line);
}
bufr.close(); //BufferedReader装饰类 带行号的 LineNumberReader
FileReader fr1=new FileReader("buf.txt");
LineNumberReader lnr=new LineNumberReader(fr1); String line1=null;
//设置初始行号
lnr.setLineNumber(10);
while((line1=lnr.readLine())!=null)
{
System.out.println(lnr.getLineNumber()+":"+line);
}
lnr.close();
} }