用java实现文件的复制功能

通过选择合适的下列流进行文件的复制
    a)字符流(FileWriter FileReader)
    b)字节流(FileInputStream,FileOutputStream)
如下需求,选择合适的流完成操作:
文件复制的逻辑:循环的读取旧文件的数据,循环的写出到新文件里。
    1)图片的复制,把用户输入的路径代表的图片复制到同目录,文件名改为原文件名加_new。

例如:test1.png--》new_test1.png



import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;

/**通过选择合适的下列流进行文件的复制
    a)字符流(FileWriter FileReader)
    b)字节流(FileInputStream,FileOutputStream)
如下需求,选择合适的流完成操作:
文件复制的逻辑:循环的读取旧文件的数据,循环的写出到新文件里。
    1)图片的复制,把用户输入的路径代表的图片复制到同目录,文件名改为原文件名加_new。
例如:test1.png--》new_test1.png
 * 
 * */
public class Test2 {

	public static void main(String[] args) {
		copfile();
	}
	public static void copfile(){
		File filein=new File("src\\day17\\test1.png");
		File fileout=new File("src\\day17\\new_test1.png");
		byte[] buffer=new byte[1024];
		int temp=0;
		FileInputStream fis=null;
		FileOutputStream fos=null;
		try {
			fis=new FileInputStream(filein);
			fos=new FileOutputStream(fileout);
			while((temp=fis.read(buffer))!=-1){
				fos.write(buffer, 0, temp);
			}
			fos.flush();
			System.out.println("copy完成!!!");
		} catch (FileNotFoundException e) {
			e.printStackTrace();
		}catch(IOException e){
			e.printStackTrace();
		}finally{
			if(fos!=null){
				try {
					fos.close();
				} catch (IOException e) {
					e.printStackTrace();
				}
			}
			if(fis!=null){
				try {
					fis.close();
				} catch (IOException e) {
					e.printStackTrace();
				}
		    }
		
	     }
	}
}



版权声明:本文为miachen520原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。