Java文件操作PPT教学课件

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

if(n < len) throw new EOFException();
//或者采用下面的方法:
//
if(n < len)
//
{
EOFException readeof= new EOFException();
//
throw readeof;
}
}
...
}
2020/12/10 return s;}
6
1.3捕获及处理异常
try
{
可能产生异常的代码
//try块
}
catch(ExceptionType1 e1) //要捕获的异常类型1
{
对此异常的处理
//异常处理1
}
catch(ExceptionType2 e2) //要捕获的异常类型2
{
对此异常的处理
//异常处理2
}
catch(ExceptionType3 e3) //要捕获的异常类型3
{
2020/12/10 对此异常的处理
//异常处理3
7
}
【例1】 捕获并处理异常 程序代码见ExceptionExample .java。运行结果如下:
Caught the Exception!!! e.getMessage(): I throw an Exception!!!
【例2】重新抛出异常 程序代码见RethrowException .java。运行结果如下:
BufferedInputStream PushbackInputStream LineNumberInputStream
DataInputStream
StringBufferInputStream
ObjectInputStream
ObjectInput
java.lang.Object
wk.baidu.com
RandomAccessFile
2020/12/10
3
1.1 异常分类
Error Throwable
Exception
ThreadDeath ...
VirtualMachineError
OutOfMemoryError ...
StackOverflowError
IOException ...
RuntimeException
EOFException ...
DataInput DataOutput
ObjectOutputStream
ObjectOutput
ByteArrayOutputStream
2020/12/10
5
1.2 方法如何抛出异常
//本方法从长度为2048字节的某文件中读入数据到字符串对象中。
String read in) throws EOFException
{ ...
while(...)
{//ch为当前读入的字符。
if(ch == -1) //文件尾;
{
//当n<len,意味着还未将文件全部读入字符串,就遇到文件结束标志,视为异常情况。
2020/12/10
8
2 流式输入输出与文件处理
在Java中,应用程序所需要读入的数据和写出的数据是通过 I/O操作实现的。这些读写数据的源或目的包括文件、内存、网 络连接等,其中,最常用的是文件。
Java中的输入输出流可以分为两大类:输入流和输出流。
输入流是能够读取字节的对象,而输出流是能够写字节序列的
Writer的类层次,用于读写双字节的Unicode字符,而不是单字
节字符。
2020/12/10
9
2.1 Java输入输出类库继承关系
InputStream
ByteArrayInputStream FileInputStream
FilterInputStream PipedInputStream SequenceInputStream
对象。最初设计的输入输出类是面向字节流的,即能够支持8
位 的 字 节 流 , 分 别 由 派 生 自 抽 象 类 InputStream 和
OutputStream的类层次来表示。但是随着对国际化支持的需求
出现,面向字节的流不能很好地处理使用Unicode(每个字符
使用两个字节)的数据,因此引入了派生自抽象类Reader和
1、异常处理 2、文件I/O
2020/12/10
1
教学重点与难点:
❖ 异常处理、流式IO ❖ 异常的捕获和处理 ❖ 流式输入输出的操作、文件读写及随机访问
2020/12/10
2
1 异常处理
在Java中,提供了错误捕捉和处理机制,即异常处理机制。 在程序运行过程中发生错误时,Java允许其不按照正常路径完 成任务,由发现错误的方法抛出封装了错误信息的对象(异常) 到其调用程序,发出已经发生问题的信号,然后立即退出;而 且,程序并不在调用该方法的代码处继续执行,而是由异常处 理机制开始搜索一个能够处理这种特定错误情况的异常处理器。
the original exception in f() Caught in main
Exception in thread "main" java.lang.Exception: thrown from f() at RethrowException.f(RethrowException.java:8) at RethrowException.main(RethrowException.java:13)
FileNotFoundeException
ArithmeticException
...
NullPointerException
IllegalArgumentException
2020/12/10
4
Throwable类派生出两个分支:Error和Exception。
Error类被认为是不能恢复的严重错误,如系统内部错误 和资源耗尽错误等。不应该抛出这种类型的错误,而是让程 序中断。
Exception 类 定 义 可 能 遇 到 的 轻 微 错 误 , 分 为 派 生 自 RuntimeException类的异常和非派生自RuntimeException类 的异常。这时,可以写代码来处理异常并继续程序执行,而 不是让程序中断。
区分RuntimeException和非RuntimeException的规则是: 编程错误导致RuntimeException,如被零除、数组越界访问、 空指针访问等;而其他异常则是由于意外情况而发生的,如 试图读取文件结尾以后的数据、试图打开错误的URL、试图 根据并不代表已存在类的字符串来查找Class对象等。
相关文档
最新文档