Java:BufferedReader的readLine()中的IOEXceptions是什么?
发布时间:2020-12-14 16:19:49 所属栏目:Java 来源:网络整理
导读:我可以用try-catch循环“修复”下面的异常,但我无法理解原因. 为什么“in.readLine()”部分会连续点燃IOExceptions? 抛出此类异常的目的是什么,目标可能不仅仅是更多的副作用? 代码和IOExceptions $javac ReadLineTest.java ReadLineTest.java:9: unreport
我可以用try-catch循环“修复”下面的异常,但我无法理解原因.
>为什么“in.readLine()”部分会连续点燃IOExceptions? 代码和IOExceptions $javac ReadLineTest.java ReadLineTest.java:9: unreported exception java.io.IOException; must be caught or declared to be thrown while((s=in.readLine())!=null){ ^ 1 error $cat ReadLineTest.java import java.io.*; import java.util.*; public class ReadLineTest { public static void main(String[] args) { String s; BufferedReader in = new BufferedReader(new InputStreamReader(System.in)); // WHY IOException here? while((s=in.readLine())!=null){ System.out.println(s); } } } 解决方法
基本思想是BufferedReader委托给不同类型的Reader,因此传递该异常.
那种不同类型的Reader可以从某种易失性外部资源中读取,例如FileReader中的文件系统.文件系统读取可能由于多种原因而在任何时候失败. (如果Reader从网络流获取其基础数据,情况会更糟).该文件可能会从您下面删除(取决于所涉及的文件系统和操作系统). 因为您无法预测代码会发生什么,所以您会收到一个检查异常 – 关键是API告诉您,即使代码没有任何问题,您也应该考虑这个操作可能无法解决的问题. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
推荐文章
站长推荐
- java – Transitive Maven依赖项依赖于:tree但不
- java – 生成唯一的随机数
- spring的IoC和DI详解
- 固有功能参考 Intrinsic Function Reference
- java – Eclipselink JPA,Oracle,Weblogic,Calli
- java – 跳转到Scala程序中for循环的开头
- java – Spring:如何从控制器监视Quartz Job?
- java – 按其元素的多个属性过滤集合 – QueryDS
- java – 如何从CLASSPATH引用XSD来验证我的XML?
- java – Hibernate @MapKeyColumn和表继承导致Un
热点阅读