Я готовлюсь к экзамену OCP по этим классам ввода-вывода:
Подклассы OutputStream:
- FileOutputStream
- BufferedOutputStream
- DataOutputStream
- PrintStream (я вижу, его методы write () не генерируют исключения)
Подклассы Writer:
- FileWriter
- BufferedWriter
- PrintWriter (я вижу, его методы write () не генерируют исключения)
Подклассы Reader:
- FileReader
- BufferedReader
Подклассы InputStream:
- BufferedInputStream
- FilterInputStream
- ObjectInputStream
Мой вопрос: для основных методов чтения и записи (с разными сигнатурами), когда каждый из этих классов генерирует IOException?В javadoc есть только фраза:
IOException - если возникает ошибка ввода-вывода
без объяснения случаев.
Iзнаю это (я не знаю, если это правильно):
FileOutputStream генерирует исключение java.io.FileNotFoundException, если файл не существует.Фактически, этот класс не создает файл;
FileWriter генерирует исключение java.io.FileNotFoundException, если файл не существует.Этот класс фактически не создает файл;
BufferedReader создает java.nio.file.NoSuchFileException (подкласс IOException), если файл не существует;
FileInputStream создает исключение java.io.FileNotFoundException, если файл не существует.
Большое спасибо!
A.