黑马程序员技术交流社区

标题: 文件canExecute的判断判断文件是否可以执行的问题 [打印本页]

作者: smileven    时间: 2013-12-20 12:23
标题: 文件canExecute的判断判断文件是否可以执行的问题
判断文件是否可以执行的问题:用下面的如今进行操作:

File f = new File("file.txt");
sop("execute : " + f.canExecute());




如果当前目录下面没有file.txt文件,那么返回的是false。
但是如果在当前目录下手动创建一个file.txt文件,返回值就成了true。
同样都是file.txt文件,文件能否执行怎么会有两种结果呢?

作者: 小骗子    时间: 2013-12-20 12:28
你想得复杂了。
对于java而言,或者对于很多语言而言,你文件都没有创建,怎么canExecute

比如说,能 file.delete()吗
作者: smileven    时间: 2013-12-20 12:38
小骗子 发表于 2013-12-20 12:28
你想得复杂了。
对于java而言,或者对于很多语言而言,你文件都没有创建,怎么canExecute

File f = new File("file.txt");
这一条语句是在当前目录创建一个file.txt文件
如果file.txt存在就不创建,不存在就创建。所以,这条语句执行完之后肯定有file.txt文件。
sop("execute : " + f.canExecute());
这一条判断file.txt文件是否可执行。
如果当前目录下手动创建一个,也就是不用代码创建了,结果是true。
但是如果当前目录下没有,也就是代码创建了file.txt,结果就是false。
作者: 小骗子    时间: 2013-12-20 13:09
File f=new File(FilePath)  并没有立马创建一个文件,只是生成了一个对象。
如果要创建,你还要调用 file.create();  或者PrintWriter类似方面作自动创建。
你可以手动试一试,单纯File f=new File(FilePath)   系统是不会在目录下给你创建文件的
作者: smileven    时间: 2013-12-20 21:49
小骗子 发表于 2013-12-20 13:09
File f=new File(FilePath)  并没有立马创建一个文件,只是生成了一个对象。
如果要创建,你还要调用 file. ...

我知道了,是我太粗心了,谢谢~~:)




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