- 1、本文档共6页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
java的数据输入:从控制台输入数据.doc
java的数据输入:从控制台输入数据
Java(GUI),其作用有二:一是输入数据,二是显示输出结果。通过在控制台的输入输出,就使用户能完成配置、监视、维护和故障排除等工作。
Java控制台虚拟机是否具有控制台取决于底层平台,还取决于调用虚拟机的方式。如果虚拟机从一个交互式命令行开始启动,且没有重定向标准输入和输出流,那么其控制台将存在,并且通常连接到键盘并从虚拟机启动的地方显示。如果虚拟机是自动启动的,例如由后台作业调度程序启动,那么它通常没有控制台。
因此,对于普通微机里的java虚拟机来说,通常控制台就是指的显示器和键盘,即:用显示器输出结果、用键盘输入数据。由于输出相对比较简单,这里主要讨论输入数据的方式。
从控制台输入数据的方式有多种,jdk1.4以前主要是使用标准输入流的方式,jdk5.0增加了使用Scanner类的方式,jdk6.0又增加了使用Console类的方式。
7.8.1 使用标准输入流的方式
标准输入流在7.6.2中已经讨论过,例7-13和例7-14的数据就是从控制台(键盘)输入的,办法很简单,即使用标准输入流System.in获得。也可以将System.in桥接至字符流,从字符流中读入数据。
?
例7-22文件复制程序,本例中先使用InputStreamReader获取标准输入流System.in,再用字符流BufferedReader包装InputStreamReader,以读取源文件名和目标文件名。
1:????? ?
import java.io.*;
2:牋牋?imp?
public class Example7_22 {
3:牋牋?pub?
public static void main(String[ ] args) {
4:牋牋? ?
try {
5:牋牋? ?
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
6:牋牋? ?
String srcFile = null, dstFile = null;
7:牋牋? ?
System.out.print(请输入源文件名:);
8:????? ?
srcFile = br.readLine(); //用缓冲字符流获得源文件名
9:????? ?
System.out.print(请输入目标文件名:);
10:?? ?
dstFile = br.readLine(); //用缓冲字符流获得目标文件名
11:?? ?
byte[ ] data=new byte[1];
12:?? ?
BufferedInputStream bis = new BufferedInputStream(new FileInputStream(srcFile));
13:牋
?
BufferedOutputStream bos = new BufferedOutputStream(new FileOutputStream(dstFile));
14:牋
?
while(bis.read(data) != -1) bos.write(data);
15:牋
?
bos.flush();
16:牋
?
System.out.println(文件复制成功!);
17:?? ?
bis.close();
18:?? ?
bos.close();
19:?? ?
}catch(IOException e){
20:?? ?
e.printStackTrace();
21:?? ?
}
22:?? ?
}
23:?? ?
}
?
可见利用标准输入流进行控制台输入的方式非常麻烦:如果从键盘获取的是字符串,需要采用BufferedReader类来进行处理;如果获取的是其他类型数据,需要手工进行转换;在读取的过程中还必须捕获IOException。不过这是JDK1.4及更早版本中从控制台读取数据唯一办法。
7.8.2 使用Scanner类的方式
从JDK5.0开始,java.util包中增加了Scanner类,它是一个可以使用正则表达式来解析基本类型和字符串的简单文本扫描器。Scanner类从字面上讲是“扫描”的意思,它把给定的字符串解析成Java的各种基本数据类型,用于分解字符串的默认的分隔符是空格,也可以定制。其构造方法如表7-15。
?
?
表7-15
您可能关注的文档
最近下载
- 美的中央空调设计选型手册(上).pdf
- (现行国家建筑标准设计图集)99(03)S203消防水泵接合器安装(含2003年局部修改版).pdf
- 2023年华侨大学公共课《中国近代史纲要》期末试卷A(有答案).docx VIP
- (完整word版)粒子植入管理制度和质量保障措施.doc
- 2023年华侨大学公共课《中国近代史纲要》期末试卷B(有答案).docx VIP
- 220千伏输变电线路跨越110kV线路带电封网跨越施工方案.docx
- 危险源辨识培训重点.ppt
- 人教PEP三年级英语上册Unit1《Making friends part A》课件.pptx VIP
- 飞利浦V60呼吸机操作流程.docx VIP
- 美国大峡谷中文导游手册讲解.pdf
文档评论(0)