日期:2014-05-20  浏览次数:20624 次

File类,搞不懂啊,求教
小弟最近学习java文件这一块,挺晕的.File file=new File("demo") ;为什么不会在磁盘上new出一个demo文件夹.而是还必须if(!demo.exists()) file.mkdir();才会在工程文件夹里创建一个demo文件夹?我这样想的:new是调用构造器,创建对象实例,对象在堆里,堆在内层里.所以File file=new File("demo") 这句话只是在堆(内层)里有了一个File的实例,栈中变量file引用这个实例.所以调用file.getCanonicalPath()在控制台打印不出来demo路径.不知道对不对?

------解决方案--------------------
public File(String pathname)

通过将给定路径名字符串转换为抽象路径名来创建一个新 File 实例。如果给定字符串是空字符串,那么结果是空抽象路径名。
------解决方案--------------------
探讨
小弟最近学习java文件这一块,挺晕的.File file=new File("demo") ;为什么不会在磁盘上new出一个demo文件夹.而是还必须if(!demo.exists()) file.mkdir();才会在工程文件夹里创建一个demo文件夹?我这样想的:new是调用构造器,创建对象实例,对象在堆里,堆在内层里.所以File file=new File("demo") 这句话只是在堆(内层)里有了一个File的实例,栈中变量file引用这个实例.所以调用file.getCanonicalPath()在控制台打印不出来demo路径.不知道对不对?