黑马程序员技术交流社区

标题: 各大神,小弟初学java,写了类似于BufferedReader功能,写Buffe... [打印本页]

作者: gaol    时间: 2016-9-20 22:40
标题: 各大神,小弟初学java,写了类似于BufferedReader功能,写Buffe...

package Object;

import java.io.BufferedWriter;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.Flushable;
import java.io.IOException;
import java.io.Writer;
class Test{
public static void main(String[] args)throws IOException {
FileReader fr = new FileReader("c:\\password.txt");
FileWriter fw = new FileWriter("c:\\pass.txt");
MyBufferedReader mbr = new MyBufferedReader(fr);
MyBufferedWriter mbw = new MyBufferedWriter(fw);
String line = null;
while((line=mbr.myReadLine())!=null){
mbw.write(line);
mbw.newLine();
mbw.flush();
}
mbr.close();
mbw.close();
}
}
//模拟BufferedReader中的readLine()的功能,自己定义一个类似的两种。
//定义一个MyBufferedreader类。
class MyBufferedReader{
private FileReader fr;
MyBufferedReader(FileReader fr){
this.fr = fr;
}
//定义一个功能类似readLine的myReadLine()
public String myReadLine()throws IOException{
//定义一个容器用来存储读到的一行文本。
StringBuilder sb = new StringBuilder();
//采用FileReader中的read方法一个字符一个字符的读。
int ch = 0;
while(ch!=-1){
ch=fr.read();
if (ch=='\r')
continue;
if (ch=='\n')
return sb.toString();
else
sb.append((char)ch);
}
return null;
}
void close()throws IOException{
fr.close();
}       
}
//模拟BufferedWriter中的write(line)和newLine()和flush()功能,
//所以定义一个MyBufferedWriter类。
class MyBufferedWriter {
private FileWriter fw;
MyBufferedWriter(FileWriter fw){
this.fw = fw;
}

//定义其write(字符串)的功能
public String write(){

}
//定义其换行功能。
public void newLine(){

}
//定义其刷新缓冲得功能
public void flush() throws IOException{
fw.flush();
}
//定义其关闭流的功能
public void close() throws IOException{
fw.close();
}
}




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2