问题描述
当用FileInputStrem的read方法读取一文件时,需要捕获IOException,那发生IOException的原因是什么?是读着读着突然文件被删了?还是什么其它原因?
解决方案
我觉得你的问题有3方面的意思1. 什么是IOException这个你可以看看APIhttp://download.oracle.com/javase/6/docs/api/java/io/IOException.html2. 广泛的说,什么时候会有IOException比如你文件都不到的时候你在做数据库操作的时候数据库底层出现问题或者你系统IO出问题了系统拿不到文件句柄你说的读着读着突然被删了,你可以试试,书不定真可以你可以看有多少IOExeption个子类,差不多就有多少种类型3. 为什么我要捕获IOExeption为什么要有checked exception,这个是java设计的问题,暂不深究但是这个IOException的意思就是告诉你,万一你在做io操作的时候出现异常怎么办最简单的例子是,我Class clazz = Class.forname("/path/to/class");这个时候万一找不到这个class文件该怎么办,也算提醒程序员极有可能出现问题的地方,这里不能忽略还有一个例子是try { stream.close()} catch(IOException e) { // ignore}你可以看到这里我们的IOException是忽略的,因为关闭不了,我们也没办法 -_-!!!
解决方案二:
楼上回答的很好,简单解释就好比你操作windows系统,操作一个文件时候,要删除一个文件,提示文件被其他用户使用不能删除,这样的错误,或者直接在运行中输入地址,然后提示错误文件无法找到,这些在程序中体现就是IOException
解决方案三:
主要是文件不存在的原因吧~~,或者磁盘不能写入 ~~只要在读写文件的时候出现问题,则会抛出IO异常