Класс BufferedWriter обладает функциональностью записи буферов символов в файл. Он расширяет Writer, который является абстрактным классом для записи потоков символов. При использовании BufferedWriter буферизация может значительно ускорить IO. Вместо того, чтобы писать один символ за раз до источника, BufferedWriter записывает большое количество данных за раз. Таким образом, это, как правило, намного быстрее, особенно для доступа к диску и больших объемов данных.
Преимущество
Когда вы хотите написать строки, есть два варианта. BufferedWriter и файловый писатель.
При использовании BufferedWriter все строки могут быть сгруппированы вместе, а размер буфера по умолчанию - 8192 символа, это всего лишь один системный вызов для записи. Таким образом, BufferedWriter нужно очистить при вызове в случае, если в буфере есть что-то.
Следующая программа Java записывает массив во внешний файл с помощью BufferedWriter.
import Java.util.*;
import Java.io.*;
public class TestClass{
public static void main(String[] args) {
try {
String weekdays[] = {"Monday",
"Tuesday",
"Wednsday",
"Thursday",
"Friday"};
File file = new File("D:/test.txt");
FileWriter fw = new FileWriter(file);
BufferedWriter bw = new BufferedWriter(fw);
for(int i=0;i
Если вы просто хотите распечатать массив, например [a, b, c, ....], вы можете заменить цикл на этот один лайнер:
bw.write(Arrays.toString(weekdays));
Как добавить текст в существующий файл на Java?
Конструктор FileWriter (файл, true) добавляет новый контент в конец файла.
FileWriter fw = new FileWriter(file);
В приведенном выше коде все существующее содержимое будет переопределено.
FileWriter fw = new FileWriter(file,true);
Над кодом сохраняйте существующий контент и добавляйте новый контент в конец файла.
Следующая программа Java добавляет новый контент в конец файла.
import Java.util.*;
import Java.io.*;
public class TestClass{
public static void main(String[] args) {
try {
String weekdays[] = {"Saturday",
"Sunday"};
File file = new File("D:/test.txt");
FileWriter fw = new FileWriter(file,true);
BufferedWriter bw = new BufferedWriter(fw);
for(int i=0;i