I/O总结



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();
   }
}

猜你喜欢

转载自blog.csdn.net/lx678111/article/details/80223932
I/O