第7章输入输出流.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
类似地,当与任何一个OutputStream的具体子类链接时, OutputStreamWriter可以将char类型的数据转换成为byte类型的数据,再交给输出流 OutputStreamWriter char类型的数据 byte类型的数据 源 OutputStream byte类型的数据 汇 流处理器分为原始流处理器和链接流处理器。根据不同的流源,先选定合适的原始流处理器,然后用适当的链接流处理器来装饰它,最后用我们最终得到的链接流处理器对象来完成I/O操作 以打开一个文件进行输入为例:为了对文件进行操作,需要使用一个FileInputStream(原始流);为了提高速度,最好先对文件进行缓冲处理,可以用一个BufferedInputStream(链接流)来装饰它;为了以格式化的形式读取输入数据,再用一个DataInputStream (链接流)来装饰它。这样,最终我们得到了一个DataInputStream对象,使用该对象来执行文件操作: DataInputStream in=new DataInputStream(new BufferedInputStream(new FileInputStream(“Test.java”))); in.readLine(); 在java.io包中,有File类提供了描述文件和目录的操作与管理方法。 File不是输入/输出流类的子类,不负责数据的输入/输出,专门用来管理磁盘文件与目录。 File类定义了一些与平台无关的方法进行文件操作,如建立、删除、查询、重命名等。可以用它来表示某个文件的名字,也可以用它来表示目录里一组文件的名字。 创建File类文件对象 File(String path);//如:File(“F:/java/temp.dat”) File(String path,String name); File(File dir,String name); 文件名的处理 String getName( ); //得到一个文件的名称(不包括路径) String getPath( ); //得到一个文件的路径名 String getAbsolutePath( );//得到一个文件的绝对路径名 String getParent( ); //得到一个文件的上一级目录名 文件属性测试 boolean exists( ); //测试当前File对象所指示的文件是否存在 boolean canWrite( );//测试当前文件是否可写 boolean canRead( );//测试当前文件是否可读 boolean isFile( ); //测试当前文件是否是文件(不是目录) boolean isDirectory( ); //测试当前文件是否是目录 普通文件信息和工具 long lastModified( ); //得到文件最近一次修改的时间,用与时间点(1970 年 1 月 1 日,00:00:00 GMT)之间的毫秒数表示; long length( ); //得到文件的长度,以字节为单位 boolean delete( ); //删除当前文件 目录操作 boolean mkdir( ); //根据当前对象生成一个由该对象指定的路径 String list( ); //列出当前目录下的文件 示例程序:FileDemo.java Java 可以将对象作为一个整体通过对象流进行传输和存储。 ObjectInputStream和ObjectOutputStream分别是对象流的输入和输出流处理器。 构造方法: ObjectInputStream(InputStream in); ObjectOutputStream(OutputStream out); 当使用对象流写入或读出一个对象时,其前提是这个对象必须是序列化的。 Java 1.1增添了一种有趣的特性,名为“对象序列化”(Object Serialization)。它面向那些实现了Serializable接口(该接口仅是一个标识接口,没有方法)的对象,可将它们转换成一系列字节,并可在以后完全恢复回原来的样子。这一过程亦可通过网络进行。 利用它可以实现“持久化(persistent) ”。通过序列化一个对象,将其写入磁盘,以后在程序重新调用时重新恢复那个对象,就能圆满实现一种“持久”效果。 为序列化一个对象,首先要创建某些OutputStream对象,然后将其封装到ObjectOutputStream对象内。此时,只需调用writeObject()即可完成对象的序列化,并将其发送给OutputStream 相反的过程是:将一个InputStream封装到ObjectInputStream内,然后调用readObj

文档评论(0)

junjun37473 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档