java实现字节型文件的复制粘贴

java中实现字节型文件的复制


import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;

public class Fc {


public static void main(String[] args) {

String path = "E:\\11\\11\\b.txt";
String path2 = "E:\\11\\22\\b.txt";
File file = new File(path);//建立要复制的文件对象
File file2 = new File(path2);//建立要粘贴的文件对象
copyFile(file, file2);

}
/**
* 读取文件中的字节,并用一个字节数组存起来返回
* @param file 要进行读取操作的文件
* @return 文件中的字节数组
*/
public static byte[] readFile(File file){
try {
FileInputStream fis = new FileInputStream(file);//利用文件对象生成文件输入流对象
BufferedInputStream bis = new BufferedInputStream(fis);//打包成缓冲输入流来批量输出文件输出流中的数据,加快数据的传递
byte[] b = new byte[bis.available()];
bis.read(b);
fis.close();
return b;
} catch (Exception e) {
e.printStackTrace();
}
return null;
}
/**
* 将一个字节数组中的字节写到目标文件中
* @param b 操作的字节数组
* @param file2 操作的目标文件
*/
public static void writeFile(byte[] b,File file2){
try {
FileOutputStream fos = new FileOutputStream(file2);//利用文件对象生成文件输出流对象
BufferedOutputStream bos = new BufferedOutputStream(fos);//将文件输出流对象打包成文件缓冲流输出,加快数据的传输
bos.write(b);
//强制将输出管道中的数据输出到目标中,因为数据传输的数据远快于内存保存数据的速度,如果没这句,将会出现数据的丢失
bos.flush();
bos.close();


} catch (Exception e) {
e.printStackTrace();
}
}
/**
* 将一个文件复制到另一个位置
* @param file 被复制的文件
* @param file2 粘贴文件的位置文件
*/
public static void copyFile(File file,File file2){

byte[] b = readFile(file);
writeFile(b, file2);

}
}

给跪了,这样竟然比操作系统自带的复制粘贴快 - -! 这特么是在逗我么...
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值