私は次のようにファイルライターを試します:
_String content = "Test File Content";
_
Files.write(path, content.getBytes(), StandardOpenOption.CREATE);
ファイルが作成されない場合、ファイルが作成され、コンテンツが書き込まれます。ただし、ファイルが使用可能な場合、ファイルの内容は_Test File ContentTest File Content
_であり、コードが繰り返し実行される場合、ファイルの内容は_Test File ContentTest File ContentTest File Content
_です。
Files.write(path, content.getBytes(), StandardOpenOption.CREATE_NEW);
、ファイルが作成されない場合、ファイルが作成され、次のように例外が発生します。
Java.nio.file.FileAlreadyExistsException:/ home/gyhot/Projects/indexing/ivt_new/target/test-classes/test_file at Sun.nio.fs.UnixException.translateToIOException(UnixException.Java:88)at ...
Java new I/O経由でファイルを上書きする方法は?
OpenOption
引数なしでメソッドを呼び出したい。
Files.write(path, content.getBytes());
Javadocから:
Optionsパラメーターは、ファイルを作成または開く方法を指定します。オプションが存在しない場合、このメソッドはCREATE、TRUNCATE_EXISTING、およびWRITEオプションが存在するかのように機能します。つまり、ファイルを書き込み用に開き、存在しない場合はファイルを作成するか、既存の通常ファイルを最初にサイズ0に切り捨てます
StandardOpenOption.TRUNCATE_EXISTING とStandardOpenOption.CREATEオプションの両方を一緒に使用したい場合:
Files.write(path, content.getBytes(),
StandardOpenOption.CREATE,
StandardOpenOption.TRUNCATE_EXISTING );