欢迎来到天天文库
浏览记录
ID:36423857
大小:1.67 MB
页数:71页
时间:2019-05-09
《Java的IO流和异常处理-v》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、4.1I/O流概述4.2SystemI/O类和Scanner类4.2.1SystemI/O类4.2.2Scanner类4.3文件类4.3.1使用File类访问文件系统4.3.2随机文件读写4.4字节级输入输出流4.4.1数据输入输出流4.4.2文件输入输出流4.4.3缓冲输入输出流4.4.4管道输入输出流4.4.5格式化输出流4.5字符级输入输出类4.5.1字符输入输出类4.5.2缓冲读写类4.5.3文件读写类4.5.4格式化写类4.6对象序列化4.6.1对象输入流4.6.2对象输出流4.7异常处理4.7.1Java中定义的异常4.7.2异常类的层次结构4
2、.7.3捕获异常4.7.4异常处理的嵌套4.7.5自定义的异常和使用第4章Java的I/O流和异常处理2021/10/7第4章Java的I/O流和异常处理学习导读Java中常用I/O流、方法及其应用,包括:System类、Scanner类,字节流和字符流处理,以及对象序列化。Java中的异常处理机制及异常处理。2021/10/74.1I/O流的概念流是指流动的数据序列,可分为输入流和输出流。在程序设计语言中,流式输入输出是一种常见的输入输出方式。它是一个比文件更加广泛的概念。输入流将外部数据输入到计算机。例如从键盘,扫描仪,摄像头,网络等数据源输入数据。输
3、出流将计算机中的数据输出到外部设备。例如将要打印的信息发送到打印机,将计算的结果显示到输出设备上。流的特点:所有数据的传输都按照数据序列的顺序进行。每个数据依序被读入或写出,Java中采用类的方式实现I/O流。2021/10/7JavaI/O流来自java.io包中的类,按照流处理的对象,可将输入输出流分为字节级输入输出流、字符级输入输出流和对象级输入输出流。输入输出流类层次如图所示:2021/10/7InputStream和OutputStream是Java语言中最基本的两个输入输出类。其他所有字节输入输出流类都继承自这两个基类。这两个类都是抽象类,都继
4、承自Object类,因而不能创建它们的实例,只能使用它们的子类。2021/10/7从输入流读取下一个字节,-1表示输入结束,阻塞方法abstractintread();从输入流读取一组数据存入缓冲区b中。返回读取的字节个数,-1表示结束intread(byteb[]);从输入流读取最多len字节数据存入缓冲区b中,并从数组b的第off个位置开始存放intread(byteb[],intoff,intlen);返回输入流中无需阻塞可直接读取字节个数intavailable();从输入流中忽略n和字节的数据,返回实际忽略的字节个数longskip(longn)
5、;关闭输入流close();InputStream的主要方法2021/10/7向输出流写入一个字节,写出字节为整数b的低字节,其高3个字节被忽略abstractvoidwrite(intb);把缓冲区b中的全部数据写入输出流voidwrite(byteb[]);把缓冲区b中从b[off]开始的len个字节的数据写入输出流voidwrite(byteb[],intoff,intlen);刷新输出流,强制输出所有被缓存的字节voidflush();关闭输出流voidclose();在实际应用中,常用InputStream和OutputStream类的引用指向它
6、们的具体实现的子类对象。OutputStream的方法2021/10/74.2SystemI/O类和Scanner类SystemI/O类称为标准输入输出类。在Java中标准的输入设备是键盘,标准的输出设备是终端或显示器。他们分别对应System类中的变量in,out和err。这三个类变量(对象类型)在System类中的声明如下:publicstaticfinalInputStreamin;publicstaticfinalPrintStreamout;publicstaticfinalPrintStreamerr;2021/10/74.2SystemI/O
7、类和Scanner类对于PrintStream类最常用的两个方法为:publicvoidprint();//输出一行字符串publicvoidprintln();//输出后并换行例如,输入后立即输出这个数:bytebs=System.in.read();System.out.println(bs);2021/10/7Scanner类Scanner类是一个可以使用正则表达式来分析基本类型和字符串的简单文本扫描器。它使用分隔符模式将其输入分解为标记,默认情况下该分隔符模式与空白字符匹配。再使用不同的next方法将得到的标记转换为不同类型的值。例如,读入一个整数
8、:Scannersc=newScanner(System.in);
此文档下载收益归作者所有