- 1、本文档共194页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 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
您可能关注的文档
- 《DSP技术及应用》课件第3章.ppt
- 《计算机组装与维护项目实训》课件项目四 操作系统及常用软件安装.pptx
- 《光网络技术》课件第2章.ppt
- 《机械系统动力学》课件第三章 机械系统运动微分方程的求解1.ppt
- 《机器人程序设计——仿人机器人竞技娱乐运动设计》课件第1章.ppt
- 《机械设计》课件第14章.ppt
- 《存储技术基础》课件第2章.ppt
- 《TMS320C3X系列—DSP原理与开发技术》课件第2章.ppt
- 《Java语言程序设计》课件第6章.ppt
- 《工程力学》课件第8章.ppt
- 2019年中国东方航空集团航空安全员招聘真题及答案.pdf
- 2019年北京市大兴区事业单位招聘真题及答案解析.pdf
- 2023-2024学年河南省信阳市平桥区四年级上学期10月月考语文真题及答案.pdf
- 2019年中国电信集团公司总部校园招聘试题及答案.pdf
- 2022下半年河北教师资格证中学教育知识与能力真题及答案.pdf
- lte中国移动入围考试试题真题.pdf
- 2021-2022年江苏省宿迁市泗洪县六年级下册期末语文试卷.pdf
- 2022-2023学年广西河池市环江毛南族自治县四年级上学期期末数学真题及答案.pdf
- 2021年10月23日内蒙古事业单位联考C类职业能力倾向测验试题及答案(完整版).pdf
- 2024年湖北普通高中学业水平选择性考试政治真题及答案.pdf
文档评论(0)