用Java实现文件复制

本文写出了两种复制方式,包括逐个字节复制和全部复制,代码如下:



package Work0630;


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


public class TestIO1 {


public static void main(String[] args) throws IOException {
// testIo01();
//这段代码放在程序执行前
long begin = System.currentTimeMillis();
TestIO2();

// 这段代码放在程序执行后
long end = System.currentTimeMillis() - begin; 










}


public static void TestIO2() throws FileNotFoundException, IOException {
//输入需要拷贝的和新建的文件的目录名称
System.out.println("需要拷贝的文件的路径和文件名称类型");
Scanner sca1=new Scanner(System.in);
String url1=sca1.next();
File file1=new File(url1);//判断文件是否存在
System.out.println("需要复制的文件如果存在:"+file1.exists());
System.out.println("需要拷贝的文件的路径和文件名称类型");
Scanner sca2=new Scanner(System.in);
String url2=sca1.next();
File file2=new File(url2);
FileInputStream fil1=new FileInputStream(file1);//调用字节流读写方法
FileOutputStream fil2=new FileOutputStream(file2);
for(int a=0;a<(int) file1.length();a++){
fil2.write(fil1.read());




}
}


public static void testIo01() throws FileNotFoundException, IOException {
//手动输入一个需要拷贝的文件的路径和文件名称类型
System.out.println("需要拷贝的文件的路径和文件名称类型");
Scanner sca1=new Scanner(System.in);
String url1=sca1.next();
System.out.println("需要拷贝的文件的路径和文件名称类型");
File file1=new File(url1);//判断文件是否存在
System.out.println("需要复制的文件如果存在:"+file1.exists());
//读取文件内容
FileInputStream fil1=new FileInputStream(file1);//调用读取文件方法,创建对象
byte[]b = new byte[1000];
fil1.read(b);               //调用read方法,给数组b中赋值,值为读取的文件的内容,类型为byte
System.out.println("需要拷贝的内容为"+new String(b));  //使用String给byte转型为String类型输出
//关闭读取流
fil1.close();
//新建一个文件
System.out.println("请输入新建文件的路径及文件名称类型");
Scanner sca2=new Scanner(System.in);
String url2=sca1.next();
File file2=new File(url2);
file2.createNewFile();
//给新文件中拷贝内容
FileOutputStream fil2=new FileOutputStream(file2);
fil2.write(b);
//关闭写入流
fil2.close();
}


}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值