gpt4 book ai didi

java - 类 I/O 的异常(exception)

转载 作者:行者123 更新时间:2023-11-30 01:53:19 25 4
gpt4 key购买 nike

我正在准备 OCP 考试这些类(class) I/O:

  • OutputStream 子类:

    • 文件输出流
    • 缓冲输出流
    • 数据输出流
    • PrintStream(我看到它的方法 write() 不会抛出异常)
  • Writer 子类:

    • 文件写入器
    • 缓冲写入器
    • PrintWriter(我看到它的方法 write() 不会抛出异常)
  • 阅读器子类:

    • 文件阅读器
    • BufferedReader
  • InputStream 子类:

    • 缓冲输入流
    • 过滤输入流
    • 对象输入流

我的问题:对于主要方法 read 和 write(具有不同的签名),这些类中的每一个何时抛出 IOException?在javadoc中只有一句话:

IOException - if an I/O error occurs

没有对案例进行解释。

我知道这一点(我不知道这些是否正确):

  • 如果文件不存在,FileOutputStream 会抛出 java.io.FileNotFoundException。事实上,这个类不会创建文件;

  • 如果文件不存在,FileWriter 将抛出 java.io.FileNotFoundException。事实上,这个类不会创建文件;

  • 如果文件不存在,BufferedReader 会抛出 java.nio.file.NoSuchFileException(IOException 的子类);

  • 如果文件不存在,FileInputStream 会抛出 java.io.FileNotFoundException。

非常感谢!

A.

最佳答案

当这些类在执行过程中遇到问题时,它们都会抛出 I/O 异常。如果出现以下情况,文件输出流可能会引发异常:

  • 文件不存在
  • 文件只读
  • 操作系统拒绝访问该文件
  • 您要写入的驱动器没有足够的空间

如果出现以下情况,输入流通常会抛出异常:

  • 流未正确初始化
  • 输入类型不匹配
  • 如果正在读取的文件在读取时发生更改
  • 如果文件不存在。

关于java - 类 I/O 的异常(exception),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55323183/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com