在控制台录入文件的路径,将文件拷贝到当前项目下

public static void main(String[] args) throws IOException {
        /**
         * 在控制台录入文件的路径,将文件拷贝到当前项目下
         *
         * 分析:
         *
         * 1,定义方法对键盘录入的路径进行判断,如果是文件就返回
         * 2,在主方法中接收该文件
         * 3,读和写该文件
         * @throws IOException
         */
        BufferedInputStream a =null;
        BufferedOutputStream b=null;
        try{
        File file =getFile();
         a =new BufferedInputStream(new FileInputStream(file));
         b =new BufferedOutputStream(new FileOutputStream(file.getName()));
         int c ;
         while ((c=a.read()) !=-1) {
            b.write(c);
            
        }
        
        }finally{
            try{
                if (a != null)
                    a.close();
            }finally{
                if (b !=null)
                    b.close();
                
            }
            
        }
        
        
        
    }
    /*
     * 定义一个方法获取键盘录入的文件路径,并封装成File对象返回
     * 1,返回值类型File
     * 2,参数列表无
     */
    public static File getFile(){
        Scanner sc =new Scanner(System.in);
        System.out.println("请输入一个文件路径");
        while (true) {
            String a =sc.nextLine();
            File file =new File(a);
            if (!file.exists()) {
                System.out.println("输入错误 路径不存在 请重新输入一个文件路径");
            }else if (file.isDirectory()) {
                System.out.println("输入错误是文件夹 请重新输入一个文件路径");
            }else{
                return file;
            }
        }
    }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值