java File类对象?

为啥file.getparent()的结果是null?System.out.println("newFile对象是否存在:"+newFile.exists());时,ne... 为啥file.getparent()的结果是null ?
System.out.println("newFile对象是否存在: " + newFile.exists() ) ;时,newfile不存在,我已经创建了啊?
为啥创建了两个文件??
还有就是这两个文件是怎么创建在和file一个路径中的?
展开
 我来答
土憨宝
2014-04-21 · TA获得超过368个赞
知道小有建树答主
回答量:203
采纳率:100%
帮助的人:216万
展开全部
  1. new File(".")是不存在的,所以getParent是null。

  2. new一个File对象并不是创建文件,你把这句话放到第19行后就存在了。

  3. 你使用的文件名为System.currentTimeMillis,那不就是你看到的两个文件了。

  4. new File()的参数,如果不是绝对路径,会取当前工程的目录,也就是你的src目录下。

建议lz,你先把new File()这个构造函数搞清楚,你的入参就是你的文件名(包含路径,可以是绝对路径,也可以是相对路径)。自己多试几下就清楚了。

风霜紫兰
2014-04-22 · TA获得超过671个赞
知道小有建树答主
回答量:308
采纳率:0%
帮助的人:341万
展开全部
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("")参数如果没有指定绝对路径的话。就是属于当前目录下的路径。
绝对路径new File(“f/a.txt”)
相对路径new File("a.txt") 假如你程序是在d盘跟目录运行的话(这个就是默认目录),那么这a.txt是在d盘下的。
相对路径new File("c/a.txt") 路径理解为 d:\c\a.txt
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式