я следующий метод:BufferedWriter преимущества
public void writeToFile(
String id,
String no,
int systol,
int diastol,
int pulsDiff,
double speedAvg,
double spread
) {
String line =
id + "\t" + no + "\t" + systol + "/" + diastol + "\t" + pulsDiff
+ "\t" + speedAvg + "\t" + spread + "\r\n";
File fil = new File("resultat.txt");
BufferedWriter writer = null;
try {
writer = new BufferedWriter(new FileWriter(fil, true));
writer.write(line);
writer.close();
} catch (Exception e) {
System.err.println("Fejl: " + e.getMessage());
}
Может ли это было сделано по-разному? С помощью разных методов? И в чем преимущества этого?
Im пытается понять преимущество наличия bufferedWriter
. Я все еще нахожусь в начале, и я пытаюсь понять это предложение: «
В общем, Writer немедленно отправляет свой вывод на базовый символ или поток байтов. Если приглашение не требуется, рекомендуется обернуть BufferedWriter вокруг любого писателя, чьи записи() операции может быть дорогостоящим, такими как FileWriters и OutputStreamWriters. Например,
PrintWriter out = new PrintWriter(new BufferedWriter(new
FileWriter("foo.out")));
буферизует выход PrintWriter в к файлу. Без буферизации, каждый вызов принта() метод приведет к преобразованию символов в байты, которые затем будут немедленно записаны в файл, что может быть очень неэффективным.
В частности, «В целом, Writer немедленно отправляет свой результат на базовый символ или байтовый поток».
Это неправда. –
@JBNizet Почему бы и нет? Я имею в виду - используя потоки, более эффективно объединять многие строки - нет? –
Сочетание таких строк не создает много строк. Он использует один StringBuilder, добавляет все, а затем вызывает toString(). –