【发布时间】:2014-10-30 17:11:27
【问题描述】:
我刚刚花了很多时间跟踪一个未写入文件的错误,并注意到我在创建 FileOutputStream 之后但在写入任何内容之前删除了该文件。我可以理解这是错误的,但是为什么它不抛出异常删除文件然后尝试在上面写呢?
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStream;
public class Test {
public static void main(String[] args) throws FileNotFoundException, IOException
{
File test = new File("test.txt");
try(OutputStream out = new FileOutputStream(test))
{
if(test.exists()) {test.delete();}
out.write("Hello World".getBytes());
}
}
}
我的 Java 安装是否损坏?
我的java -version:
java version "1.8.0"
Java(TM) SE Runtime Environment (build 1.8.0-b132)
Java HotSpot(TM) 64-Bit Server VM (build 25.0-b70, mixed mode)
【问题讨论】:
-
看看我的回答...
标签: java stream fileoutputstream