2 zzlu suran zzlu_suran 于 2016.09.23 15:18 提问

Java的File类调用delete后执行写操作

File file = new File(path);
file.delete();
FileOutputStream out = new FileOutputStream(file);
out.write(fileContent);

out.close();

请问为什么file被delete后仍可以对其进行写入操作,文件是什么时候被创建的?

3个回答

Face_To_Fate
Face_To_Fate   2016.09.23 15:42
已采纳

/*FileOutputStream 源码*/
public FileOutputStream(String name) throws FileNotFoundException {
this(name != null ? new File(name) : null, false);
}

执行new FileOutputStream的时候 这里会new 一个File

Veggiel
Veggiel   2016.09.23 15:32

FileOutputStream out = new FileOutputStream(file);这个时候被创建的

strutce
strutce   Ds   Rxr 2016.09.23 15:36

File file = new File(path); 这里只是指定文件路径的
file.delete();所以在这里可以说是没有文件可删的
FileOutputStream out = new FileOutputStream(file); 创建指定的文件

Csdn user default icon
上传中...
上传图片
插入图片