黑马程序员技术交流社区

标题: 为什么封装键盘录入的路径到File类不用转义呢 [打印本页]

作者: 左右.律    时间: 2016-9-13 23:18
标题: 为什么封装键盘录入的路径到File类不用转义呢
今天讲的这个题:   
[Java] 纯文本查看 复制代码
public static void main(String[] args) throws IOException {
                Scanner sc = new Scanner(System.in);
                System.out.println("请输入一个路径:");
                File file = null;
                while (true) {
                        String line = sc.nextLine();
                       
                        //封装File对象
                        file = new File(line);//注意:这里不需要转义,底层自动完成
                       
                        //判断是否是文件
                        if (file.isDirectory()) {
                                System.out.println("不是文件,请重新输入:");
                        } else if (!file.exists()){
                                System.out.println("不存在,请重写输入:");
                        } else {
                                break;
                        }
                }
                //开流
                BufferedInputStream bis = new BufferedInputStream(new FileInputStream(file));
                BufferedOutputStream bos = new BufferedOutputStream(new FileOutputStream(file.getName()));
               
                //定义一个字节缓冲数组
                byte[] by = new byte[1024];
                //定义一个有效长度
                int len = 0;
               
                //循环读与写,结束条件为读取结果为-1
                while ((len = bis.read(by)) != -1) {//一次读一个字符数组
                        bos.write(by);//一次写一个数组
                }
               
                //关流
                bis.close();
                bos.close();
        }
老师说不用加就可以了,但是不知道原理感觉怪怪的





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