gpt4 book ai didi

java - 仅当一个文件不存在时如何在Java中创建一个文件?

转载 作者:塔克拉玛干 更新时间:2023-11-03 03:06:02 25 4
gpt4 key购买 nike

我正在尝试用 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() 然后在它返回和我打开文件进行写入之间,其他人删除了文件怎么办?有没有一种方法可以同时创建文件并打开它进行写入+锁定它,一口气完成?我需要担心这个吗?

最佳答案

File.createNewFile()仅在文件不存在时才创建文件。

编辑:根据您想要在文件创建后锁定文件的新描述,您可以使用 java.nio.channels.FileLock对象锁定文件。虽然没有像您希望的那样创建和锁定一行。另外,请参阅此 SO question .

关于java - 仅当一个文件不存在时如何在Java中创建一个文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1556127/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com