Как перезаписать файл через java nio writer?
Я пытаюсь записывать файлы следующим образом:
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: /Главная/gyhot/Проекты/индексации/ivt_new/цель/тест-классы/test_file в sun.nio.fs.UnixException.translateToIOException(UnixException.java:88) в...
Как перезаписать файл через java new I/O?
Ответы
Ответ 1
вы хотите вызвать метод без OpenOption
Files.write(path, content.getBytes());
из javadoc
Параметр options указывает, как файл создается или открывается. Если параметры отсутствуют, этот метод работает так, как если бы CREATE, TRUNCATE_EXISTING и WRITE. Другими словами, это открывает файл для записи, создавая файл, если он не существует, или первоначально обрезая существующий обычный файл до размера 0
Ответ 2
Вы хотите совместно использовать опции StandardOpenOption.TRUNCATE_EXISTING и StandardOpenOption.CREATE:
Files.write(path, content.getBytes(),
StandardOpenOption.CREATE,
StandardOpenOption.TRUNCATE_EXISTING );