加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

如何在Java中创建文件?

发布时间:2020-12-14 05:23:09 所属栏目:Java 来源:网络整理
导读:我试图在 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
我试图在 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.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读