Метод newBufferedWriter
Метод newBufferedWriter класса Files создает и возвращает объект BufferedWriter, который используется для буферизованной записи текста в файл. В первый параметр мы передаем путь к файлу (объект Path), во второй параметр - набор опций OpenOption, определяющих режим открытия файла (например, создать файл, если он не существует, или дозаписать данные в конец). Если файл не существует, он будет создан при записи. По умолчанию буферизованная запись работает быстрее, чем запись по одному символу, за счет накопления данных в буфере.
Синтаксис
Files.newBufferedWriter(Path path, OpenOption... options)
Пример
Давайте запишем строку "abcde" в файл с помощью буферизованной записи:
import java.io.BufferedWriter;
import java.nio.file.Files;
import java.nio.file.Path;
public class Main
{
public static void main(String[] args)
{
try
{
Path path = Path.of("test.txt");
BufferedWriter writer = Files.newBufferedWriter(path);
writer.write("abcde");
writer.close();
System.out.println(Files.readString(path));
}
catch (Exception e)
{
System.out.println(e.getMessage());
}
}
}
Результат выполнения кода:
"abcde"
Пример
Давайте запишем несколько строк в файл, используя метод newLine для перевода строки:
import java.io.BufferedWriter;
import java.nio.file.Files;
import java.nio.file.Path;
public class Main
{
public static void main(String[] args)
{
try
{
Path path = Path.of("test.txt");
BufferedWriter writer = Files.newBufferedWriter(path);
writer.write("12345");
writer.newLine();
writer.write("abcde");
writer.close();
System.out.println(Files.readString(path));
}
catch (Exception e)
{
System.out.println(e.getMessage());
}
}
}
Результат выполнения кода:
"12345
abcde"
Пример
Давайте дозапишем данные в конец существующего файла, передав опцию StandardOpenOption.APPEND:
import java.io.BufferedWriter;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.StandardOpenOption;
public class Main
{
public static void main(String[] args)
{
try
{
Path path = Path.of("test.txt");
BufferedWriter writer = Files.newBufferedWriter(path, StandardOpenOption.APPEND);
writer.write("12345");
writer.close();
System.out.println(Files.readString(path));
}
catch (Exception e)
{
System.out.println(e.getMessage());
}
}
}
Результат выполнения кода:
"abcde12345"
Смотрите также
-
метод
newBufferedReader,
который создает BufferedReader для чтения файла -
метод
writeString,
который записывает строку в файл -
метод
readString,
который читает содержимое файла в строку -
метод
newOutputStream,
который создает OutputStream для записи байтов