Java程序案例教程(主编田智、杨艳慈 西安科大版)课件:第10章 文件IO操作03.pptVIP

Java程序案例教程(主编田智、杨艳慈 西安科大版)课件:第10章 文件IO操作03.ppt

  1. 1、本文档共20页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
    4. ?FileWriter   FileWriter创建一个可以写文件的Writer 类。它最常用的构造方法如下:     FileWriter(String filePath)     FileWriter(String filePath, boolean append)     FileWriter(File fileObj)   上述构造方法可以引发IOException或SecurityException异常。这里,filePath是文件的绝对路径,fileObj是描述该文件的File对象。如果append为true,则输出是附加到文件尾的。FileWriter类的创建不依赖于文件存在与否。在创建文件之前,FileWriter将在创建对象时打开它作为输出。如果试图打开一个只读文件,将引发一个IOException异常。   【例10-4】 CharDemo.java。   输出结果:     Hello World!!!   程序说明:   此程序也同样分为两部分:一部分是向文件中写入内容(第8行~第34行),另一部分是从文件中读取内容(第37行~第64行)。   (1) 程序第6行通过一个File类找到C盘下的一个temp.txt文件。   (2) 向文件写入内容。   ① 第8行~第15行通过File类的对象去实例化Writer的对象,此时是通过其子类FileWriter实例化Writer对象,属于对象的向上转型。   ② 因为字符流主要以操作字符为主,所以程序第17行声明一个String类的对象str。   ③ 第18行~第26行调用Writer类中的 write()方法将字符串中的内容写入到文件中。   ④ 第27行~第34行调用Writer类中的 close()方法,关闭数据流操作。   (3) 从文件中读入内容。   ① 第37行~第44行通过File类的对象去实例化Reader的对象,此时是通过其子类 FileReader实例化Reader对象,属于对象的向上转型。   ② 因为字节流主要以操作char数组为主,所以程序第46行声明一个大小为1024的char数组,此数组用于存放读入的数据。   ③ 第48行~第56行调用Reader类中的read()方法将文件中的内容读入到char数组中,同时返回读入数据的个数。   ④ 第57行~第64行调用Reader类中的close()方法,关闭数据流操作。   ⑤ 第66行将char数组转成字符串输出。   可以将该例第27行到第34行注释掉,也就是说在向文件写入内容之后不关闭文件,这时再打开文件,可以发现文件中没有任何内容,这是为什么呢?从JDK文档之中查找FileWriter类,如图10-1所示。 图10-1 FileWriter类 10.3.3 管道流   管道流的主要作用是连接两个线程间的通信。管道流也分为字节流(PipedInputStream、PipedOutputStream)与字符流(PipedReader、PipedWriter)两种类型。本节主要讲解Piped InputStream与PipedOutputStream。   一个PipedInputStream对象必须和一个 PipedOutput Stream对象进行连接而产生一个通信管道,PipedOutputStream可以向管道中写入数据,PipedInputStream可以从管道中读取PipedOutputStream写入的数据。如图10-2所示,这两个类主要用来完成线程之间的通信,一个线程的PipedInputStream对象能够从另外一个线程的PipedOutputStream对象中读取数据。 图10-2 管道流   程序说明:   (1) 第8行和第9行分别声明了Sender和Receiver的实例化对象,之后返回各自的管道输出流及管道输入流对象,通过管道输出流的connect方法,将两个管道连接在一起,最后分别启动线程。   (2) 第22~42行声明一个Sender类,此类继承了Thread类,所以此类复写了Runnable接口之中的run()方法。程序第24行声明一个PipedOutputStream对象out,此对象用于发送信息。   (3) 第43~66行声明一个Receiver类,此类继承了Thread 类,所以此类复写了Runnable 接口中的run()方法。程序第45行声明了一个PipedInputStream 对象in,此对象用于接收其他线程发来的信息。 * *

文档评论(0)

小教资源库 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档