Java-IO-利用字节流实现文件拷贝功能

通过以下代码,成功将E:\abc.pdf拷贝到项目目录下的file文件夹下的bcd.pdf

package day324;
/*
 * 将本地文件拷贝到项目文件夹
 */
import static org.junit.Assert.*;

import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.FilterOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;

import org.junit.Test;

public class InptAndOutpt {

	@Test
	public void test() {
		//找到源文件存放的路径(读)
		File source=new File("E:\\abc.pdf");
		//找到目标文件存放路径(写)
		File mbFile=new File("file\\bcd.pdf");
		//先创建一个字节的输入流:读取原始文件
		InputStream is=null;
		//创建一个字节的输出流:将读取的字节输出到新文件
		OutputStream os=null;
		try {
			is=new FileInputStream(source);
			os=new FileOutputStream(mbFile);
			//每次读取容量
			byte[] bys=new byte[1024];//2048+500
			int len;
			while((len=is.read(bys)) != -1){//读取1024个字节到bys里面,len为实际读取数量
				os.write(bys,0,len);//写入,保证最火不会出现多余的00000
			}
			//刷新管道
			os.flush();
		} catch (Exception e) {
			e.printStackTrace();
		}finally {//关闭流对象
			try {
				if(os!=null){
					os.close();
				}if(is!=null){
					is.close();
				}
			} catch (IOException e) {
				e.printStackTrace();
			}
			
		}
	}

}

你可能感兴趣的:(Java)