Java 7またはJava 8が存在しない場合にファイルを作成する方法は何ですか?
何が欲しいかわからないが、例えば:
try {
Files.createFile(thePath);
} catch (FileAlreadyExistsException ignored) {
}
そして他の解決策があります。例えば:
if (!Files.exists(thePath, LinkOption.NOFOLLOW_LINKS))
Files.createFile(thePath);
File
とは異なり、これらはファイルの作成に失敗すると例外をスローすることに注意してください!そして、それに関連するもの(たとえば、AccessDeniedException
、ReadOnlyFileSystemException
など)
詳細は here を参照してください。 Java.nio.file
にすばやく移行する必要がある理由 も参照してください。
できるよ
_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が言及したように、createNewFile()
メソッドは、ファイルが実際に作成されたかどうかを示すboolean
値を返します。残念ながら、なぜ失敗したのかを知る方法はありません。実際、これがNIO.2 I/O APIが導入された理由の1つです。