较简单的字节输入流输出流拷贝文件
程序员文章站
2022-03-02 12:50:24
...
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
/**
* 较简单的字节输入流输出流拷贝文件
*
* @author silence
*/
public class Silence {
/**
* 需要被拷贝的文件地址 file可以对此文件做获取名字等操作,也可以直接把地址填到流里面
* 输入流
*/
private static final File FILEINPUT = new File("D:\\a.txt");
/**
* 输出流 拷贝文件的目的地 写出文件不存在,路径正确会自动创建文件
* 如果不打开续写开关,每次写入文件会覆盖
*/
private static final File FILEOUT = new File("D:\\b.txt");
public static void main(String[] args) throws Exception {
long start = System.currentTimeMillis();
FileInputStream input = new FileInputStream(FILEINPUT);
//如果第二个参数为true 则打开续写开关,否则,每次写入会覆盖
FileOutputStream out = new FileOutputStream(FILEOUT, true);
//每次循环读取到的内容 可增加读取速度 如果不用数组则每次读取1个字节
byte[] arr = new byte[1024];
//每次读取读取到的字节数量
int length;
while ((length = input.read(arr)) != -1) {
//通过输出流写出到目的地, 从0开始写,写当前循环读到的最大值
out.write(arr, 0, length);
out.flush();
}
//关闭输入流
input.close();
//关闭输出流
out.close();
long end = System.currentTimeMillis();
System.out.println(FILEINPUT.getName() + " 读取完成 耗时:" + (end - start) + "毫秒");
}
}
上一篇: JAVA设计模式学习8——建造模式