comment créer un fichier en Java que si l'on n'en existe pas déjà?

Je suis en train de mettre en œuvre l'opération suivante en Java et je ne suis pas sûr de savoir comment:

/*
 * 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
    }
}

Est-il une fonction qui existe déjà que je peux utiliser pour atomicCreateFile()?

edit: Uh oh, je ne suis pas sûr de ce Fichier.createNewFile() est suffisant pour mes besoins. Ce que si je l'appelle f.createNewFile() et puis entre le temps qu'il renvoie et j'ouvre le fichier en écriture, quelqu'un d'autre a supprimé le fichier? Est il possible que je peux à la fois de créer le fichier et l'ouvrir à la rédaction + verrouiller, le tout d'un seul coup? Ai-je besoin de vous inquiéter à ce sujet?

OriginalL'auteur Jason S | 2009-10-12