Честно гуглил. Нашел это: OutputStreamWriter vs FileWriter. В ответах говорится вообще о различиях XXXInputStream и XXXOutputStream(хоть это было очень полезно, но это не то, что мне нужно).
По второй ссылке это: Различия OutputStream, BufferedWriter и FileWriter. Тоже ответа я не нашел.
По сути:
Вот полный код класса:
public class FileWriter extends OutputStreamWriter {
public FileWriter(String fileName) throws IOException {
super(new FileOutputStream(fileName));
}
public FileWriter(String fileName, boolean append) throws IOException {
super(new FileOutputStream(fileName, append));
}
public FileWriter(File file) throws IOException {
super(new FileOutputStream(file));
}
public FileWriter(File file, boolean append) throws IOException {
super(new FileOutputStream(file, append));
}
public FileWriter(FileDescriptor fd) {
super(new FileOutputStream(fd));
}
public FileWriter(String fileName, Charset charset) throws IOException {
super(new FileOutputStream(fileName), charset);
}
public FileWriter(String fileName, Charset charset, boolean append) throws IOException {
super(new FileOutputStream(fileName, append), charset);
}
public FileWriter(File file, Charset charset) throws IOException {
super(new FileOutputStream(file), charset);
}
public FileWriter(File file, Charset charset, boolean append) throws IOException {
super(new FileOutputStream(file, append), charset);
}
}
Он реализует абсолютно все конструкторы OutputStreamWriter
. И не добавляет ничего нового. Я в замешательстве.
Это просто частный случай OutputStreamWriter
для записи в файл. Такая обёртка.
Позволяет вам просто лишний раз не нагромождать ваш код вызовом конструктора FileOutputStream
, просто его вызов инкапсулирован внутри FileWriter
а
могло быть в вашем коде так:
new OutputStreamWriter(new FileOutputStream(file));
а будет так, короче, лаконичнее, понятнее:
new FileWriter(file);
Виртуальный выделенный сервер (VDS) становится отличным выбором
Имеется map с ценами <наименование, цена> и map с заказом <наименование, количество>Нужно рассчитать общую стоимость заказа
Есть 3 секции, я всегда задавал 1 div который покрывал 3 секции и задавал ему 1 бекграунд, правильной ли такой подход?