网站大量收购闲置独家精品文档,联系QQ:2885784924

《Java语言程序设计》课件第9章.ppt

  1. 1、本文档共194页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

标准I/O参考了Unix中“程序所使用的单一信息流”概念,而Windows等其他操作系统通过不同的方式实现了同样的概念。程序的所有输入都可以来自于标准输入,它的所有输出也都可以发送到标准输出,以及所有的错误信息都可以发送到标准错误。标准I/O的意义在于:一个程序的标准输出可以成为另一程序的标准输入。9.4标准I/O按照标准I/O模型,Java提供了System.in、System.out和System.err。其中:System.in作为标准输入,System.out作为标准输出,System.err作为标准错误。Java通过系统类System实现了标准输入/输出的功能,它包含在java.lang包中,继承关系如下:同时,System类被声明为一个final类,定义如下:publicfinalclassSystemextendsObjectSystem类的成员定义如表9-28所示。表9-28System类成员可以看出,System.out和System.err已被包装成了PrintStream对象,而System.in是一个没有被包装过的、未经加工的InputStream流对象。9.4.1从标准输入读取数据

通过以下程序,来了解怎样通过System.in成员从键盘读取数据。

【例9-15】从键盘读取数据。

importjava.io.*;

publicclassReadIn_1

{publicstaticvoidmain(String[]args)

{byteb[]=newbyte[512];

//定义一个字节数组,用来存放键盘数据

intx;

try

{System.out.println(inputdata:);intcount=System.in.read(b);

//从键盘输入数据,直到回车结束,返回读到的字节数

Stringstr=newString(b);

//将字节数组b构造成一个字符串

str=str.substring(0,count-2);

//得到有效数据,去掉“回车换行”两个字符

System.out.println(recievedthedata:);

System.out.println(str);

}

catch(Exceptione){};

}

}

运行结果如图9-35所示。图9-35从键盘读取数据并显示System.in通过InputStream类的read()方法从键盘按字节读取数据,并将读到的字节值依次存放到字节数组中,直到遇到回车结束。

从键盘读取数据之前,往往要对System.in进行包装,即将System.in构造成Input

StreamReader流。

InputStreamReader流的继承关系如下:InputStreamReader流的构造方法见表9-29,类方法见表9-30。表9-29InputStreamReader类的构造方法表9-30InputStreamReader类的方法【例9-16】将System.in构造成InputStreamReader流。

importjava.io.*;

publicclassReadIn_2

{publicstaticvoidmain(String[]args)

{intx;

try

{//将键盘输入构造成一个InputStreamReader流InputStreamReaderin=newInputStreamReader(System.in);

System.out.println(“inputdata:”);

while((x=in.read())!=-1)

System.out.print((char)x);

}

catch(Exceptione){};

}

}

注意:在用户输入文本并按回车键后,回显的行才出现。运行结果见图9-36。图9-36从键盘读取数据并回显上例中是逐个读取数据的,通常我们会用readLine()一次一行地读取输入,因此会将System.in包装成BufferedReader来使用。通过对BufferedReader类构造方法的分析,需要事先用Inp

文档评论(0)

酱酱 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档