Files.writeString()
Записывает строку в файл: создаёт его или перезаписывает.
Доступно с: Java 11
Синтаксис
static Path writeString(Path path, CharSequence csq, OpenOption... options) throws IOExceptionПараметры
| Параметр | Тип | Описание |
|---|---|---|
| path | Path | Путь к файлу. Папка должна существовать. |
| csq | CharSequence | Текст для записи. |
| options | OpenOption... | Режим: например, StandardOpenOption.APPEND — дописать в конец. |
Возвращаемое значение
PathТот же путь.
Примеры
Перезапись и дозапись в конец:
void main() throws IOException {
Path log = Path.of("log.txt");
Files.writeString(log, "start\n");
Files.writeString(log, "step 1\n", StandardOpenOption.APPEND);
Files.writeString(log, "step 2\n", StandardOpenOption.APPEND);
IO.print(Files.readString(log));
Files.delete(log);
}Результат:
start
step 1
step 2Запись списка строк — Files.write():
void main() throws IOException {
Path file = Path.of("names.txt");
Files.write(file, List.of("Anna", "Oleg", "Maria"));
IO.println(Files.readAllLines(file));
Files.delete(file);
}Результат:
[Anna, Oleg, Maria]Примечания
Без опций файл создаётся, а если он уже есть — его содержимое полностью заменяется. Если папки нет, будет NoSuchFileException — создайте её через Files.createDirectories(). Кодировка по умолчанию UTF-8.
См. также
- Files.readString() — Читает весь текстовый файл в одну строку.
- Files.exists() — Проверяет, существует ли файл или папка. Рядом — isDirectory(), isRegularFile(), size().
- Files.createDirectories() — Создаёт папку вместе со всеми недостающими родительскими папками.
- Files.delete() — Удаляет файл или пустую папку. Вариант deleteIfExists() не бросает исключение, если файла нет.
Вопросы и ответы по теме
В учебнике
- Чтение и запись файлов — Чтение и запись текстовых файлов в Java — Files.writeString, readString, readAllLines, write, дозапись в конец, Files.lines и буферизованные потоки.