黑马程序员技术交流社区

标题: File [打印本页]

作者: 紫色梦幻1989    时间: 2012-3-27 23:50
标题: File
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());——————为什么新文件不存在???
作者: 贠(yun)靖    时间: 2012-3-28 00:07
    // 在程序中 通过 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());——————为什么新文件不存在???

作者: 龚龙    时间: 2012-3-28 00:24
你只是让你的程序告诉JAVA虚拟机,你创建了一个由当前系统时间命名的文件对象,但是这个对象实际上在硬盘上面是没有的,所以返回false.
你再用下 file2.mkdir();就能返回true了~
调用exists()方法时,当且仅当此抽象路径名表示的文件或目录存在时,返回 true;否则返回 false




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