java io流缓冲区大小_Java:IO流之字符流缓冲区详解

import java.io.*;/*class MyLineNumberReader extends MyBufferedReader

{

private int linenumber;

MyLineNumberReader(Reader r)

{

super(r);

}

public void setLineNumber(int linenumber)

{

this.linenumber = linenumber;

}

public int getLineNumber()

{

return linenumber;

}

public String MyreadLine() throws IOException

{

linenumber++;//每读一行,行数就自加一次

return super.MyreadLine();

}

}*/

classMyLineNumberReader

{privateReader r;private intlinenumber;

MyLineNumberReader(Reader r)

{this.r =r;

}public void setLineNumber(intlinenumber)

{this.linenumber =linenumber;

}public intgetLineNumber()

{returnlinenumber;

}public String MyreadLine() throwsIOException

{

linenumber++;//每读一行,行数就自加一次

StringBuilder sb = newStringBuilder();int ch = 0;while((ch = r.read())!=-1)

{if(ch=='\r')continue;if(ch=='\n')returnsb.toString();elsesb.append((char)ch);

}if(sb.length()!=0)returnsb.toString();return null;

}public void Myclose() throwsIOException

{

r.close();

}

}classMyLineNumberReaderDemo

{public static voidmain(String[] args)

{

FileReader fr= null;

MyLineNumberReader myl= null;

String str= null;try{

fr= new FileReader("MyBufferedReaderTest.java");

myl= newMyLineNumberReader(fr);//myl.setLineNumber(100);//设置第一行从101行开始

while((str = myl.MyreadLine())!=null)

{

System.out.println(myl.getLineNumber()+":"+str);

}

}catch(IOException e)

{

System.out.println("流读入异常!");

}finally{try{

myl.Myclose();

}catch(IOException e)

{

System.out.println("流关闭异常!");

}

}

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值