A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 紫色梦幻1989 黑马帝   /  2012-3-27 23:50  /  1955 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

String filePath = "D:/ss";
       
               
                // 在程序中 通过 File 实例封装一个路径
                File file = new File(filePath);
                File f=file.getAbsoluteFile();
                String s=file.getAbsolutePath();
                System.out.println(file.getName());
                System.out.println(f.getCanonicalPath());
                System.out.println(f.getPath());
                System.out.println(f.mkdir());
                System.out.println(f);
                System.out.println(s);
                // 判断路径代表的文件是否存在
                File newFile=File.createTempFile("aaa", ".txt",file);
                //newFile.deleteOnExit();
                //以系统当前时间作为新文件名来创建文件
                File file2=new File(System.currentTimeMillis()+" ");
                System.out.println("新文件是否存在:"+file2.exists());——————为什么新文件不存在???

2 个回复

倒序浏览
    // 在程序中 通过 File 实例封装一个路径
                File file = new File(filePath);  
         这句话的意思是把文件路径 或者文件名封装成对象,如果该目录下有此文件夹路径或者 文件名的话  就是把此目录下的这个路径 或者文件名 封装成对象
   如果没有的话(就是该目录下 没有这个路径或者这个文件)  就是把 构造方法中的 filePath  字符串封装成路径   这时候还没有创建路径或者文件呢
     比如你要File  file = new File("1.txt");  如果你该目录下游1.txt  那么就把这个文件名封装成对象   如果没有的话  就会把“1.txt”这个字符串封装成对象
     所以当此目录下确实存在1.txt的话  exists()返回真,如果没有的返回假      你封装路径的话  也是一样的道理

                File f=file.getAbsoluteFile();
                String s=file.getAbsolutePath();
                System.out.println(file.getName());
                System.out.println(f.getCanonicalPath());
                System.out.println(f.getPath());
                System.out.println(f.mkdir());
                System.out.println(f);
                System.out.println(s);
                // 判断路径代表的文件是否存在
                File newFile=File.createTempFile("aaa", ".txt",file);
                //newFile.deleteOnExit();
                //以系统当前时间作为新文件名来创建文件
                File file2=new File(System.currentTimeMillis()+" ");
                System.out.println("新文件是否存在:"+file2.exists());——————为什么新文件不存在???
回复 使用道具 举报
你只是让你的程序告诉JAVA虚拟机,你创建了一个由当前系统时间命名的文件对象,但是这个对象实际上在硬盘上面是没有的,所以返回false.
你再用下 file2.mkdir();就能返回true了~
调用exists()方法时,当且仅当此抽象路径名表示的文件或目录存在时,返回 true;否则返回 false
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马