我正在尝试在Java中实现以下操作,但不确定如何实现:
/*
* write data (Data is defined in my package)
* to a file only if it does not exist, return success
*/
boolean writeData(File f, Data d)
{
FileOutputStream fos = null;
try
{
fos = atomicCreateFile(f);
if (fos != null)
{
/* write data here */
return true;
}
else
{
return false;
}
}
finally
{
fos.close(); // needs to be wrapped in an exception block
}
}
是否已经存在现有的函数可供使用 atomicCreateFile()
?
编辑:糟糕,我不确定 File.createNewFile()
是否满足我的需求。如果我调用 f.createNewFile()
,然后在返回和打开文件进行写操作之间,有人删除了该文件怎么办?是否有一种方法可以一次性创建文件、打开它进行写操作并锁定它?我需要担心这个问题吗?