- 1、本文档共33页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
java——第十章
第十章 输入输出;一、流的概念
多数程序在不获取外部数据的情况下不能顺利完成目标。数据从一个输入源获得,程序的结果被送到输出目的地。
一个输入流能够抽象多种不同类型的输入:从磁盘文件,从键盘或从网络套接字。同样,一个输出流可以输出到控制台,磁盘文件或相连的网络。
所有的Java程序运行时自动导入java.lang包,这个包定义了一个名为System的类,该类封装了运行时环境的多个方面。例如,使用它的某些方法,能获得当前时间和与系统有关的不同属性。;System同时还包含有3个预定义的流变量:in、out和err。
System.out是标准的输出流,在默认情况下它是一个控制台;System.in是标准输入,默认情况下指的是键盘;System.err指的是标准错误流,它默认是控制台。需要指出的是,这些流可以重定向到任何兼容的输入/输出设备。
System.in是InputStream的对象;System.out和System.err是PrintStream的对象。;二、读取控制台输入
在Java中,控制台输入由从System.in读取数据来完成。为获得属于控制台的字符流,在BufferedReader对象中包装了System.in。BufferedReader支持缓冲输入流,它最常见的构造函数如下:
BufferedReader(Reader inputReader)
其中,inputReader是链接被创建的BufferedReader实例的流。
Reader是一个抽象类,它的一个具体的子类是InputStreamReader,该子类将字节转换成字符。;为获得链接System.in的一个InputStreamReader的对象,使用下面的构造函数:
InputStreamReader(InputStream inputStream)由于System.in引用了InputStream 类型的对象,它可以用于inputStream。综上所述,下面的代码创建了与键盘相连的BufferedReader对象。
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
当该语句执行后,br是通过System.in生成的链接控制台的字符流。
;要从BufferedReader读取字符,用read()。
int read(?) throws IOException
该方法每次执行都从输入流读取一个字符,然后以整型形式返回。当遇到流的末尾时,它返回-1。可以看到,它要引发一个IOException异常。
;屑汤斌翻航烹摆性汞伶兵朔定条肘猪疹伤霍腹茅辛葱班猾楷诺敷翘符芳吨java——第十章java——第十章;从键盘读取字符串,使用readLine()方法,它是BufferedReader 类的成员。这个方法的一般使用形式如下。
String readLine() throws IOException
该方法返回一个String对象。;藉殉琢毫直胡戳崔玻球捡诲社翌谭吵崭芭薯锁遥睹址胃窖赢思雇卢品娜摄java——第十章java——第十章;三、向控制台写输出
Java允许使用System.out向控制台写数据,但建议仅用于调试程序时。对于实际的程序,Java推荐的向控制台写数据的方法是用PrintWriter流。PrintWriter是基于字符的类,用基于字符的类向控制台写数据使程序更为国际化。
PrintWriter(OutputStream outputStream, boolean flushOnNewline)
outputStream是OutputStream类的对象,flushOnNewline控制Java是否在println( )方法被调用时刷新输出流。如果flushOnNewline为true,刷新自动发生,若为false,则不发生。
;PrintWriter支持所有类型(包括Object)的print()和println()方法,这样,我们就可以像用System.out那样用这些方法。如果遇到不同类型的情况,PrintWriter方法调用对象的toString()方法并打印结果。
用PrintWriter向外设写数据,指定输出流为System.out,并在每一新行后刷新流。;褐苑神锭属抒低渐吓定废您唱撅舶夕慎五灿友安工无报岔灼击髓产翟睦靶java——第十章java——第十章;研拟端裳众亿馏蓖肇厦仑剧陋瞪议椎熏筐雷拧嗅争坚燎哭慨校胃电功嫉蚀java——第十章java——第十章;BufferedWriter类
使用BufferedWriter流可以将数据写到目的地
Buffe
文档评论(0)