java第六章延边大学计算机系.pptVIP

  1. 1、本文档共39页,可阅读全部内容。
  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文档。上传文档
查看更多
缓冲流 BufferedInputStream支持父类的mark()和reset()方法。 BufferedReader提供了readLine方法用于读取一行字符串。 BufferedWriter提供了newLine用于写入一个“行分隔符”。 对于BufferedOutputStream,写出的数据会先在内存中缓存,使用flush方法将会使内存中的数据立刻写出。 实例: TestBufferedStream.java TestBufferedReaderWriter.java 转换流 InputStreamReader和OutputStreamWriter用于字节数据到字符数据之间的转换。 InputStreamReader需要套接在InputStream OutputStreamWriter需要“套接”在OutputStream。 实例: TestInputStreamReader.java TestOutputStreamWriter.java 数据流 DataInputStream和DataOutputStream分别继承自InputStream和OutputStream,它属于处理流,需要分别“套接”在InputStream和OutputStream类型的节点流上。 DataInputStream和DataOutputStream提供了可以存取与机器无关的Java原始类型数据(如:int, double等)的方法。 DataInputStream和DataOutputStream的构造方法为: DataInputStream(InputStream in) DataOutputStream(OutputSteam out) 数据流 实例: TestDataStream.java Print流 PrintWriter和PrintStream都属于输出流,分别针对与字符和字节。 PrintWriter和PrintStream提供了重载的print Println方法用于多种数据类型的输出。 PrintWriter和PrintStream的输出不会抛出异常,用户通过检测错误状态获取错误信息。 PrintWriter和PrintStream有自动flush功能。 Print流 PrintWriter(Writer out) PrintWriter(Writer out, boolean autoFlush) PrintWriter(OutputStream out) PrintWriter(OutputStream out, boolean autoFlush) PrintStream(OutputStream out) PrintStream(OutputStream out,boolean autoFlush) Print流 实例: TestPrintStream1.java TestPrintStream2.java TestPrintStream3.java Object流 直接将Object写入或读出 TestObjectIO.java transient关键字 serializable接口 externalizable接口 第六章 Java输入输出系统 Decorator模式 咖啡厅问题(摘自《Head First设计模式》) Beverage:饮料 HouseBlend:家常混合咖啡 DarkRoast:黑咖啡 Decaf:无咖啡因咖啡 Espresso:意大利咖啡 Decorator模式 除了咖啡,咖啡厅还会提供丰富的调料: Mocha:摩卡 Milk:牛奶 Soy:豆奶 Whip:起泡牛奶 Decorator模式 类爆炸! 1.如果新出一种调料会怎么样? 2.如果咖啡价格改变会怎么样? Decorator模式 利用装饰器模式解决问题 从一种基本饮料开始,在运行时用各种调料“装饰”各种咖啡。 例如:客户点了DarkRoast,加一份Mocha和一份Whip。 new一个DarkRoast对象 用一个Mocha对象装饰它。 用一个Whip对象装饰它。 调用Whip的cost方法计算总价格。 Decorator模式 Decorator模式 咖啡厅程序:Coffee.java Mocha DarkRoast cost() Whip cost() ①调用外围装饰者Whip的cost() cost() ②Whip调用Mocha的cost() ③Mocha调用DarkRoast的cost() ⑥DarkRoast返回它的价钱10元 ⑤Mocha在DarkRoast的基础上加上自己的价钱2元,返回 ④Whip在Mocha返回的价钱上再加自己的价钱5元返回最终的价钱:17元 Decorator模式 程序:Decor

文档评论(0)

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

分享好文档!

1亿VIP精品文档

相关文档