黑马程序员技术交流社区

标题: 关于File类的问题 [打印本页]

作者: Larno    时间: 2015-1-5 17:46
标题: 关于File类的问题
File file=new File("a.jpg");
这句代会创建a.jpg文件吗?还是需要在执行个
file.createNewFile();
如果已经有了这个a.jpg文件,那么是覆盖掉已有文件,还是不创建。

作者: kerner    时间: 2015-1-5 18:04
需要学会看文档!!!!
File file=new File("a.jpg");
并没有创建文件,他只是封装了一个路径。
file.createNewFile();
如果源文件存在,则不创建,否则创建新文件。这和I/O流是有区别的。
作者: lhyzxc0205    时间: 2015-1-5 18:06
Returns: true if the named file does not exist and was successfully created; false if the named file already exists。这是方法的返回值解释
作者: 些许    时间: 2015-1-5 20:04
过来 学的的   路过  打个酱油
作者: Larno    时间: 2015-1-11 19:47
kerner 发表于 2015-1-5 18:04
需要学会看文档!!!!
File file=new File("a.jpg");
并没有创建文件,他只是封装了一个路径。

为什么在往外写文件的时候,File file=new File("a.jpg");没有调用createNewFile就产生了a.jpg文件
你可以试一试
作者: 陈佳    时间: 2015-1-11 20:12
单独的封装对象不会创建该文件,必须调用createNewFile方法。如果该文件已经存在,则不创建,返回false。
作者: Larno    时间: 2015-1-11 20:46
陈佳 发表于 2015-1-11 20:12
单独的封装对象不会创建该文件,必须调用createNewFile方法。如果该文件已经存在,则不创建,返回false。 ...

FileOutputStream out=new  FileOutputStrem(File);
out.writer(b, 0, b.length);
我下边的代码就是这个,怎么产生 a.jpg文件了

作者: 陈佳    时间: 2015-1-11 20:56
因为单独的new一个File对象是不会创建的,这里由于你创建了文件输出流对象,并执行了写的操作,就会创建文件了
作者: 466273082    时间: 2015-1-11 21:01
路过,过来看看
作者: date1130    时间: 2015-1-12 09:31
Larno 发表于 2015-1-11 20:46
FileOutputStream out=new  FileOutputStrem(File);
out.writer(b, 0, b.length);
我下边的代码就是这个 ...

不是File对象给你创建的,是输出流帮你创建的。File对象只是用来封装目录的。两者不可混淆
作者: 李增宽    时间: 2015-1-12 21:42
加油.........




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