Что такое способ Java 7 или Java 8 для создания файла, если он не существует?
Чистый Java 7 способ создания файла, если он не существует
Ответ 1
Не уверен, что вы хотите, но, например:
try {
Files.createFile(thePath);
} catch (FileAlreadyExistsException ignored) {
}
И есть другие решения; например:
if (!Files.exists(thePath, LinkOption.NOFOLLOW_LINKS))
Files.createFile(thePath);
Обратите внимание, что в отличие от File
, они будут генерировать исключения, если сбой создания файла! И соответствующие им (например, AccessDeniedException
, ReadOnlyFileSystemException
и т.д. И т.д.)
Подробнее см. здесь. Также см. почему вы должны быстро перейти на java.nio.file
.
Ответ 2
Вы можете сделать
File f = new File("pathToYourFile");
if(!f.exists() && !f.isDirectory())
{
f.createNewFile()
}
Если вы хотите использовать NIO.2, вы можете использовать методы класса Files.
boolean exists(Path path,LinkOption. . . options)
Path createTempFile(Path dir, String prefix,String suffix, FileAttribute<?>. . . attrs)
createFile(Path path, FileAttribute<?>... attrs)
Как упоминалось в комментариях методы fge возвращают значение boolean
, обозначающее, действительно ли файл был создан или нет. К сожалению, нет способа узнать, почему это не удалось. На самом деле это одна из причин, по которым были введены API-интерфейсы ввода-вывода NIO.2.