Используя File.createNewFile (), вы можете атомарно создать файл и определить, действительно ли текущий поток создал файл, возвращаемое значение этого метода - логическое значение, которое сообщит вам, был ли новый файл создано или нет. Простая проверка, существует ли файл перед его созданием, поможет, но не гарантирует, что при создании и записи в файл его создал текущий поток.