黑马程序员技术交流社区

标题: 练习 在控制台录入文件路径,将文件拷贝到当前项目下 [打印本页]

作者: ZZT    时间: 2016-5-2 14:42
标题: 练习 在控制台录入文件路径,将文件拷贝到当前项目下
package com.IO;

import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
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 Exercise03 {

        /**
         * 在控制台录入文件路径,将文件拷贝到当前项目下
         * 1闯将键盘录入对象
         * 2定义方法,对键盘录入的文件[判断,如果是文件就返回
         * 3在方法中接收文件
         * 4读和写文件
         * @throws IOException
         */
        public static void main(String[] args) throws IOException {

                File file = getFile();  //获取文件
                BufferedInputStream bis = new BufferedInputStream(new FileInputStream(file));
                BufferedOutputStream bos = new BufferedOutputStream(new FileOutputStream(file.getName()));
                int b;
                while((b = bis.read()) != -1){
                        bos.write(b);
                }
                bis.close();
                bos.close();
               
        }

        /*
         * 定义一个方法获取键盘录入的文件路径,并封装成File对象返回
         * 1返回值类型 File
         * 2参数列表无
         */
        public static File getFile(){
                Scanner sc = new Scanner(System.in);
                System.out.println("请输入路径:");
                while(true){
                        String line = sc.nextLine();  //接收键盘录入的路径
               
                        File file = new File(line);  //封装成File对象并对其判断
                        if(!file.exists()){
                                System.out.println("对不起,您录入文件路径不存在,请重新输入");
                        }else if (file.isDirectory()) {
                                System.out.println("对不起,您录入的是文件夹路径,请重新录入");
                        }else {
                                return file;
                        }
                }
        }
}



作者: zhaokai123456    时间: 2016-5-2 16:22
又重新学习了一遍,谢谢发这种受用的贴




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2