java File类对象?
为啥file.getparent()的结果是null?System.out.println("newFile对象是否存在:"+newFile.exists());时,ne...
为啥file.getparent()的结果是null ?
System.out.println("newFile对象是否存在: " + newFile.exists() ) ;时,newfile不存在,我已经创建了啊?
为啥创建了两个文件??
还有就是这两个文件是怎么创建在和file一个路径中的? 展开
System.out.println("newFile对象是否存在: " + newFile.exists() ) ;时,newfile不存在,我已经创建了啊?
为啥创建了两个文件??
还有就是这两个文件是怎么创建在和file一个路径中的? 展开
2个回答
展开全部
new File(".")是不存在的,所以getParent是null。
new一个File对象并不是创建文件,你把这句话放到第19行后就存在了。
你使用的文件名为System.currentTimeMillis,那不就是你看到的两个文件了。
new File()的参数,如果不是绝对路径,会取当前工程的目录,也就是你的src目录下。
建议lz,你先把new File()这个构造函数搞清楚,你的入参就是你的文件名(包含路径,可以是绝对路径,也可以是相对路径)。自己多试几下就清楚了。
展开全部
file.getParent()结果是null。
是因为File file = new File(".")这句话构造参数里没有指定父目录。因此返回null。
如果你这样写File file = new File("abc/.") file.getparent()就返回abc
还有,当前目录不建议些成new File(".")。感觉new File("")正常点。
-------
System.out.println("newFile对象是否存在: " + newFile.exists() ) 不存在是因为还没执行到newFile.createNewFile()
出现2个文件。你应该运行了2次。
这两个文件创建的时候那个file对象只有文件名为系统时间.,没有指定父目录。所以默认是当前目录。你那个File file = new File(".")指当前虚拟机运行这程序的目录。
是因为File file = new File(".")这句话构造参数里没有指定父目录。因此返回null。
如果你这样写File file = new File("abc/.") file.getparent()就返回abc
还有,当前目录不建议些成new File(".")。感觉new File("")正常点。
-------
System.out.println("newFile对象是否存在: " + newFile.exists() ) 不存在是因为还没执行到newFile.createNewFile()
出现2个文件。你应该运行了2次。
这两个文件创建的时候那个file对象只有文件名为系统时间.,没有指定父目录。所以默认是当前目录。你那个File file = new File(".")指当前虚拟机运行这程序的目录。
追问
是不是一旦指定了当前路径那么,创建file对象的时候如果没有给出相对路径或者绝对路径名称 , 就会把当前的路径作为默认路径来创建file对象?
追答
这样的。new File("")参数如果没有指定绝对路径的话。就是属于当前目录下的路径。
绝对路径new File(“f/a.txt”)
相对路径new File("a.txt") 假如你程序是在d盘跟目录运行的话(这个就是默认目录),那么这a.txt是在d盘下的。
相对路径new File("c/a.txt") 路径理解为 d:\c\a.txt
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询