IO-2(输入输出流).ppt

IO-2(输入输出流).ppt

ID:48038112

大小:327.50 KB

页数:56页

时间:2020-01-14

IO-2(输入输出流).ppt_第1页
IO-2(输入输出流).ppt_第2页
IO-2(输入输出流).ppt_第3页
IO-2(输入输出流).ppt_第4页
IO-2(输入输出流).ppt_第5页
资源描述:

《IO-2(输入输出流).ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第十讲Java数据流(续)在上一讲中,我们主要讲了用于对字节流操作的有关的输入输出流。基本数据流:InputStream和OutputStream特点:抽象类,基类,不能直接与数据源和目的地建立联系。文件数据流:FileInputStream和FileOutputStream特点:用于和文件建立联系,从文件中读取字节流。缓冲区数据流:BufferedInputStream和BufferedOutputStream特点:用于在已经创建好的数据流上串接一个缓冲区,提高读写速度。注意:不能直接与数据源和目的地建立联系。数据数据流:DataInputStream和DataOutput

2、Stream特点:从数据流中读写java的基本数据类型。注意:不能直接与数据源和目的地建立联系。对象数据流:ObjectInputStream和ObjectOutputStream特点:用于将对象的数据成员以数据流的方式存储。注意:对象的静态数据成员不能存储,有些非静态的数据成员(线程,保密)需要加修饰字transient。不能直接与数据源和目的地建立联系。分析下列语句的对与错输入:FileInputStreamis=newFileInputStream(“file.dat”);DataInputStreamis=newDataInputStream(“file.dat”);

3、BufferedInputStreamis=newBufferedInputStream(System.in);ObjectInputStreamis=newObjectInputStream(“file.dat”);√×√×例题:请写出符合下列要求的数据流。将一个已经存在的文件f1.dat复制成另一个文件f2.dat。给出可用的方案:方案1:输入流:输出流:FileInputStreamis=newFileInputStream(“f1.dat”);FileOutputStreamos=newFileOutputStream(“f2.dat”);例题:请写出符合下列要求的数

4、据流。方案2:输入流:输出流:FileInputStreamis=newFileInputStream(“f1.dat”);BufferedInputStreambis=newBufferedInputStream(is);FileOutputStreamos=newFileOutputStream(“f2.dat”);BufferedOutputStreambos=newBufferedOutputStream(os);刚才介绍的几种字节数据流,虽然也提供了读写字符串的方法,但是一般不提倡用这些方法读写字符串。为什么?读写字符串应该用什么流?编码的原因计算机最初的操作系统支

5、持的编码是单字节的字符编码(ASCII),在计算机中一切处理程序最初都是以单字节编码的英文为准进行处理。为了兼容英文字符和其它民族的文字。人们提出了UNICODE编码,它采用双字节编码。目前,大多数国际性的软件内部均采用UNICODE编码。在软件运行时,它获得本地系统(或操作系统)默认支持的编码格式,然后再将软件内部的UNICODE编码转化为本地系统默认支持的格式显示出来。读者和写者——Reader、Writer读者(Reader)和写者(Writer)是Java提供的用于读写字符的输入输出流的基类。其他程序设计语言使用ASCII字符集,Java使用Unicode字符集来表示

6、字符串和字符。ASCII字符集是以一个字节(8bit)来表示一个字符,所以可以认为一个字符就是一个字节(byte),一个汉字当作两个字符处理。Java使用的Unicode是一种大字符集,要用两个字节(16bit)来表示一个字符,这时字节与字符就不再一样了。为了实现与其他程序语言及不同平台进行交互,Java必须提供一种16位的数据流处理方案。这种16位方案被称作读者Reader和写者Writer。在java.io包中有许多不同类对其进行支持。其中最重要的方案是InputStreamReader和OutputStreamWriter。这两个类是字节流和字符流的接口。在构造一个In

7、putStreamReader或OutputStreamWriter时,还定义了16位Unicode和其他平台的特定表示方法之间的转换规则。使用这种转换规则,Java能够充分利用本地平台字符集设置的灵活性,同时又可通过内部使用Unicode保留平台无关性。由于单字节表示字符的方法使用的广泛性,所以在进行Java字符与其他平台转换时如果不进行特定声明,在默认情况下,单纯构造一个读者或写者连接到一个数据流,则将字节码作为默认平台和Unicode进行转换。转换规则:在许多英语国家中采用的Latin-1编码系统

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。