java用FileInputStream和FileOutputStream实现文件复制操作

版权声明:以下代码均由小任一人码成,转载请注明出处。

源码

import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;

public class num6 {
//file读和写实现复制文件
public static void main(String[] args) throws Exception {
    //创建file对象
    File f=new File("e:\\test.jpg");
    //判断文件是否存在
    if(f.exists()){
        System.out.println("test.jpg存在,可以复制");
    }else{
            f.createNewFile();
            System.out.println("test.jpg不存在,新建成功,可以复制");
    }
    //创建FileInputStream对象
    FileInputStream inp=new FileInputStream(f);
    //创建FileOutputStream对象
    //判断demo目录是否存在
    File f1=new File("e:\\demo");
    if(f1.isDirectory()){
        FileOutputStream out=new FileOutputStream("e:\\demo\\"+f.getName());
        byte bytes[]=new byte[1024];
        int temp=0;  //边读边写
        while((temp=inp.read(bytes))!=-1){  //读
            out.write(bytes,0,temp);   //写
        }
        //结束
        inp.close();
        out.close();
        System.out.println("文件拷贝成功!");
    }else{
        //新建demo目录
        f1.mkdir();
        System.out.println("demo目录不存在,已经新建成功,继续复制");
        FileOutputStream out=new FileOutputStream("e:\\demo\\"+f.getName());
        byte bytes[]=new byte[1024];
        int temp=0;  //边读边写
        while((temp=inp.read(bytes))!=-1){  //读
            out.write(bytes,0,temp);   //写
        }
        //结束
        inp.close();
        out.close();
        System.out.println("文件拷贝成功!");
    }
}
}

代码运行图

1.test.jpg和demo目录都不存在的情况
java用FileInputStream和FileOutputStream实现文件复制操作
2.test.jpg存在而demo目录不存在
java用FileInputStream和FileOutputStream实现文件复制操作
3.test.jpg不存在而demo目录存在
java用FileInputStream和FileOutputStream实现文件复制操作
4.test.jpg和demo目录都存在
java用FileInputStream和FileOutputStream实现文件复制操作

源码解析

首先创建一个testjpg的file对象,然后用exists()判断test.jpg是否存在,如果不存在则提示并且用createNewFile()新建,然后创建FileInputStream对象,再创建demo目录的file对象,用isDirectory()判断demo目录是否存在,如果存在则创建FileOutputStream对象,边读边写实现文件的复制,若demo目录不存在,则用mkdir()新建一个,然后再创建FileOutputStream对象,边读边写。
原文链接:https://www.xiaorenjc.net/Java/javafilefuzhi.html

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值