Я немного запутался в FileWriter
и FileOutputStream
. Как я вижу исходный код FileWriter, существует всего 4 конструктора, и каждый конструктор вызывает конструктор FileOutputStream
.
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));
}
После поиска разницы между ними я нашел упомянутый здесь.
FileOutputStream предназначен для записи потоков необработанных байтов, таких как данные изображения. Для записи потоков символов рассмотрите возможность использования FileWriter.
Как FileWriter
может сделать разницу? Даже он по-прежнему вызывает конструктор FileOutputStream
без каких-либо изменений.