您的位置:首页 > 编程语言 > Java开发

流以及流的缓冲区实现文本的复制的功能

2016-07-05 11:40 323 查看
一、流的实现文本的复制

public class TextCopyTest {
private FileReader fr=null;
private FileWriter fw=null;
public static void main(String[] args) throws Exception {
new TextCopyTest().demo();
}
public void demo() throws Exception{
fr=new FileReader("buf.txt");
fw=new FileWriter("copy1.txt");
/*//实现方式一
int ch=0;
while((ch=fr.read())!=-1){//从硬盘一个字符一个字符的读取数据到内存。
fw.write((char)ch);//在从内存一个字符一个字符的写入到硬盘。
fw.flush();
}
fw.close();*/
//实现方式二
char[] buf=new char[1024];
int len=0;
while((len=fr.read(buf))!=-1){
fw.write(new String(buf,0,len));
fw.flush();
}
//fr.close();//因为缓冲区没有调用底层资源,所以该行代码,可有可无。
fw.close();
}

}

二、流的缓冲区实现文本的复制

public class TextCopyBuffer {
private BufferedWriter bw=null;
private BufferedReader br=null;
private FileReader fr=null;
private FileWriter fw=null;
/*
* 使用缓冲区实现文本文件的复制的功能。
* 这是一个文件的复制的的功能的实现。

*/
public static void main(String[] args) throws IOException {
new TextCopyBuffer().demo();
}

public void demo() throws IOException{
  fw=new FileWriter("text.txt");
  fr=new FileReader("buf.txt");
  bw=new BufferedWriter(fw);
  br=new BufferedReader(fr);
  String line="";
  
  //第一种方式
  while((line=br.readLine())!=null){//判断是否有下一行
  bw.write(line);//写一行
  bw.newLine();//加一个换行符
  bw.flush();
 
  }
  
  //第二种方式
  /*int ch=0;
  while((ch=br.read())!=-1){
  bw.write((char)ch);
  bw.flush();
  }
  bw.close();*/
}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  java