Java FileOutputStream如果不存在则创建文件

问题

有没有办法以一种方式使用FileOutputStream,如果文件(String filename)不存在,那么它会创建它吗?

FileOutputStream oFile = new FileOutputStream("score.txt", false);

#1 热门回答(221 赞)

如果文件不存在且无法创建(doc),它将抛出aFileNotFoundException,但如果可以,它将创建它。为了确保你在创建233331639之前可能首先应该测试该文件是否存在(如果没有,则创建为createNewFile()):

File yourFile = new File("score.txt");
yourFile.createNewFile(); // if file already exists will do nothing 
FileOutputStream oFile = new FileOutputStream(yourFile, false);

#2 热门回答(24 赞)

在创建文件之前,需要创建所有父目录。

UseyourFile.getParentFile().mkdirs()


#3 热门回答(21 赞)

你可以创建一个空文件,无论它是否存在......

new FileOutputStream("score.txt", false).close();

如果你想保留文件,如果它存在...

new FileOutputStream("score.txt", true).close();

如果尝试在不存在的目录中创建文件,则只会获得FileNotFoundException。