类 I/O 例外
Exception for classes I/O
我正在为 OCP 考试学习这些 classes I/O:
OutputStream 子classes:
- 文件输出流
- 缓冲输出流
- 数据输出流
- PrintStream(我看到它的方法 write() 不会抛出异常)
作者子classes:
- 文件写入器
- BufferedWriter
- PrintWriter(我看到它的方法 write() 不会抛出异常)
Reader 子classes:
- 文件Reader
- 缓冲Reader
InputStream 子classes:
- 缓冲输入流
- 过滤输入流
- 对象输入流
我的问题:
对于 read 和 write 的主要方法(具有不同的签名),这些 classes 中的每一个何时抛出 IOException?在 javadoc 中只有一个短语:
IOException - if an I/O error occurs
没有对案例进行解释。
这个我知道(不知道对不对):
如果文件不存在,FileOutputStream 抛出 java.io.FileNotFoundException。 class,事实上,不会创建文件;
如果文件不存在,FileWriter 将抛出 java.io.FileNotFoundException。 class 事实上,不会创建文件;
BufferedReader 抛出 java.nio.file.NoSuchFileException(IOException 的子class),如果文件不存在;
如果文件不存在,FileInputStream 抛出 java.io.FileNotFoundException。
非常感谢!
A.
如果您 google API class 的文档,通常 Javadocs 会解释在什么情况下抛出什么异常,例如为了
文件写入器
https://docs.oracle.com/javase/7/docs/api/java/io/FileWriter.html
这些 类 中的任何一个在执行过程中遇到问题时都会抛出 I/O 异常。如果:
,文件输出流会抛出异常
- 文件不存在
- 文件是只读的
- OS 拒绝访问文件
- 您要写入的驱动器容量不足space
如果出现以下情况,输入流通常会抛出异常:
- 流未正确初始化
- 输入类型未匹配
- 如果正在读取的文件在读取时被更改
- 如果文件不存在。
我正在为 OCP 考试学习这些 classes I/O:
OutputStream 子classes:
- 文件输出流
- 缓冲输出流
- 数据输出流
- PrintStream(我看到它的方法 write() 不会抛出异常)
作者子classes:
- 文件写入器
- BufferedWriter
- PrintWriter(我看到它的方法 write() 不会抛出异常)
Reader 子classes:
- 文件Reader
- 缓冲Reader
InputStream 子classes:
- 缓冲输入流
- 过滤输入流
- 对象输入流
我的问题: 对于 read 和 write 的主要方法(具有不同的签名),这些 classes 中的每一个何时抛出 IOException?在 javadoc 中只有一个短语:
IOException - if an I/O error occurs
没有对案例进行解释。
这个我知道(不知道对不对):
-
如果文件不存在,
FileOutputStream 抛出 java.io.FileNotFoundException。 class,事实上,不会创建文件;
如果文件不存在,FileWriter 将抛出 java.io.FileNotFoundException。 class 事实上,不会创建文件;
BufferedReader 抛出 java.nio.file.NoSuchFileException(IOException 的子class),如果文件不存在;
如果文件不存在,FileInputStream 抛出 java.io.FileNotFoundException。
非常感谢!
A.
如果您 google API class 的文档,通常 Javadocs 会解释在什么情况下抛出什么异常,例如为了 文件写入器
https://docs.oracle.com/javase/7/docs/api/java/io/FileWriter.html
这些 类 中的任何一个在执行过程中遇到问题时都会抛出 I/O 异常。如果:
,文件输出流会抛出异常- 文件不存在
- 文件是只读的
- OS 拒绝访问文件
- 您要写入的驱动器容量不足space
如果出现以下情况,输入流通常会抛出异常:
- 流未正确初始化
- 输入类型未匹配
- 如果正在读取的文件在读取时被更改
- 如果文件不存在。