1明确源和目的。
2处理的文本是否是纯文本的数据。
3明确数据所在的设备。
4明确是否需要额外的功能?
import java.io.BufferedInputStream; import java.io.BufferedOutputStream; import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.FileReader; import java.io.FileWriter; import java.io.IOException; import org.junit.Test; /*1明确源和目的 2处理的文本是否是纯文本的数据 3明确数据所在的设备 4明确是否需要额外的功能?*/ public class fileCopy { @Test public void test1() { FileInputStream fin =null; FileOutputStream fout=null; try { //明确源和目的 //处理的文本是否是纯文本的数据 //明确数据所在的设备 //明确是否需要额外的功能? fin = new FileInputStream("a.txt"); fout = new FileOutputStream("a.txt"); byte b[]=new byte[32]; int len=0; while((len=fin.read())!=-1){ fout.write(b, 0, len); } } catch (IOException e) { e.printStackTrace(); }finally{ if(fin!=null){ try { fin.close(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } if(fout!=null){ try { fout.close(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } } } @Test//复制一个文本文件 public void test2(){ //FileReader fr=null; //FileWriter fw=null; BufferedReader bfr=null; BufferedWriter bfw=null; try { //fr=new FileReader("b.txt"); //fw=new FileWriter("c.txt"); bfr=new BufferedReader(new FileReader("b.txt")); bfw=new BufferedWriter(new FileWriter("c.txt")); /*char cbuf[]=new char[32]; int len=0;*/ String str=""; /*while((len=bfr.read(cbuf))!=-1){ fw.write(cbuf, 0, len); }*/ while((str=bfr.readLine())!=null){ bfw.write(str); } } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); }finally{ if(bfr!=null){ try { bfr.close(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } if(bfw!=null){ try { bfw.close(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } } } @Test//复制一个图像文件 public void test3(){ BufferedInputStream bfi=null; BufferedOutputStream bfo=null; try { bfi=new BufferedInputStream(new FileInputStream("1.jpg")); bfo=new BufferedOutputStream(new FileOutputStream("2.jpg")); byte b[]=new byte[128]; int len=0; while((len=bfi.read(b))!=-1){ bfo.write(b,0,len); } } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); }finally{ if(bfi!=null){ try { bfi.close(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } if(bfo!=null){ try { bfo.close(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } } } } }
import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.FileReader; import java.io.FileWriter; import java.io.IOException; import java.io.InputStreamReader; import java.io.OutputStreamWriter; import org.junit.Test; /*1明确源和目的 2处理的文本是否是纯文本的数据 3明确数据所在的设备 4明确是否需要额外的功能?*/ public class Systemin { // 读取键盘录入,存储到一个文件中 @Test public void test1() throws IOException { BufferedReader bfr=new BufferedReader(new InputStreamReader(System.in)); BufferedWriter bfw=new BufferedWriter(new FileWriter("c.txt")); String str=""; while(( str=bfr.readLine() ) !=null){ System.out.println(str); bfw.write(str); bfw.newLine(); } bfr.close(); bfw.close(); } @Test//读取一个文本文件,显示到显示屏上 public void test2() throws IOException{ BufferedReader bufr=new BufferedReader(new FileReader("c.txt")); BufferedWriter bufw=new BufferedWriter(new OutputStreamWriter(System.out)); String str=""; while((str=bufr.readLine())!=null){ bufw.write(str); bufw.newLine(); } bufr.close(); bufw.close(); } }
import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.FileOutputStream; import java.io.FileReader; import java.io.IOException; import java.io.OutputStreamWriter; import org.junit.Test; public class trans { /** * 假定输出时要为字符数据指定编码表。转换流中的参数需要字节流,因此用FileOutputStream。 * 转换流:OutputStreamWriter, * @throws IOException * */ @Test//读取一个文本文件,将文本按照指定的编码表UTF-8写入到另一个文件中。 public void test1() throws IOException{ BufferedReader br=new BufferedReader(new FileReader("b.txt")); BufferedWriter bw=new BufferedWriter(new OutputStreamWriter(new FileOutputStream("c.txt"),"utf-8")); String str=""; while((str=br.readLine())!=null){ bw.write(str); bw.newLine(); } br.close(); bw.close(); } }