package com.io_.outputstream_;
import org.junit.Test;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
public class FileCopy {
public static void main(String[] args) {
/*
* 完成 文件拷贝,将e:\\Test.png 拷贝到 d:\\Test2.png
* 1. 创建文件的输入流,将文件读入到程序
* 2. 创建文件的输出流,将读取到的文件数据,写入到指定的文件
* */
}
//1. 定义一个拷贝文件的方法
@Test
public void fileCopy() {
//2. 定义 需要拷贝文件的路径 拷贝最终的路径
String srcFilePath = "e:\\Test.png";
String destFilePath = "d:\\Test2.png";
//3. 创建 输入流fileInputStream 和输出流fileOutputStream
FileInputStream fileInputStream = null;
FileOutputStream fileOutputStream = null;
try {
fileInputStream = new FileInputStream(srcFilePath);//捕获异常
fileOutputStream = new FileOutputStream(destFilePath);
//4. 读取文件的字节
//定义读取的字节
int readLen = 0;
//定义一个byte[] 提高读取效率
byte[] buf = new byte[1024];
//判断是否读取完毕
while ((readLen = fileInputStream.read(buf)) != -1) {
//5. 写入原文件的字节到指定拷贝的文件
//用 write(byte , 0 ,readLen) 可以避免文件没有被一次读取完
fileOutputStream.write(buf,0,readLen);
}
System.out.println("拷贝成功!");
} catch (IOException e) {
e.printStackTrace();
} finally {
//6. 关闭文件输入流和输出流,释放资源
try {
if (fileInputStream != null) {
fileInputStream.close();//捕获异常
}
if (fileOutputStream != null ) {
fileOutputStream.close();//捕获异常
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
Java零基础学java之IO流--07FileCopy文件拷贝
最新推荐文章于 2024-08-03 21:02:21 发布