Java控制台读写
Java控制台读写
控制台读
Java中进行控制台读操作主要是通过Scanner,BufferReader,Console类进行
1. Scanner
Scanner对象定义
在控制台
Scanner类一般有以下两种定义
import java.util.Scanner;
import java.io.BufferReader;
Scanner sc1=new Scanner(System.in); //--1
Scanner sc2=new Scanner(new InputStreamReader(System.in)); //-2
Scanner是Java设计的一个文本扫描器类,对于第一行,在创建类的时候给出构造器参数System.in说明这是通过系统键盘即控制台输入的,第二个Scanner对象将控制台输入数据进行了字符流读取转换,效率上可以比第一个Scanner对象快一些
Scanner API
byte nextByte();
double nextDouble();
....等等基础数据,API的命名见名思义
重点介绍两个API
String next();
String nextLine();
两个API都是用来读取String对象的
next()必须读取到至少一个有效字符,无效字符是那些看不见的,如(TAB,空格,换行),并且再读取至少一个有效字符后才能够将无效字符作为结束符处理
nextLine()只将换行符作为无效字符,且没有限制必须读入有效字符。
2. Console
Console对象的定义
impot java.io.Console;
public class Demo{
public static void main(String[] args){
Console con=System.console();
String account=con.readLine("please input the account");
char[] pwd=con.readPassword("please input the password");
}
}
Console API
String readLine()
String readLine(String fmt,Object... args)
char[] readPassword()
char[] readPassword(String fmt,Object... args)
format(String fmt,Object... args)
printf(String fmt,Object... args)
3. BufferReader
BufferReader对象的定义
import java.io.InputStreamReader;
import java.io.BufferReader;
public class Demo{
public static void main(String[] args){
BufferReader br=new BufferReader(new InputStreamReader(System.in));
String ans=br.readLine();
br.close();
}
}
BufferReader API
因为BufferReader只支持readLine(),read(),可以利用那些封装类进行装箱拆箱操作以便读取多种数据
int read();
int read(char buffer[],int off,int len);
int readLine();
控制台写
System.out.print();
System.out.println();
System.out.printf(); //类似C++
Java控制台读写的更多相关文章
- Java Applet读写client串口——终极篇
測试环境: SDK:Oracle JRockit for Java version 6, Java Communication for Windows 2.0 OS:WINDOWS7 外设:串口条形码 ...
- java控制台输入
一.java控制台输入 java控制台输入有如下几个方法 1.JDK 1.4 及以下版本读取的方法 JDK 1.4 及以下的版本中要想从控制台中输入数据只有一种办法,即使用System.in获得系统的 ...
- java 顺序 读写 Properties 配置文件
java 顺序 读写 Properties 配置文件 支持中文 不乱码 java 顺序 读写 Properties 配置文件 ,java默认提供的Properties API 继承hashmap ,不 ...
- Java IO读写中文各种乱码问题 【转】
Java IO读写中文各种乱码问题 转自:http://blog.sina.com.cn/s/blog_484ab56f0101muzh.html java.io.*读写中文各种乱码,很费劲.不完全解 ...
- JAVA控制台输入输出方法总结
java的控制台输入输出有很多方法,此文分别对其进行介绍. 1.控制台的输入 关于控制台的输入主要介绍三种方法,第一种方法使用BufferedReader获得控制台输入的数据,此方法是传统的输入方法, ...
- Java 控制台输入数字 输出乘法表(代码练习)
最近,回忆了一些刚学习Java时经常练习的一些小练习题.感觉还是蛮有趣的,在回顾时想起好多学习时的经历和坎坷,一道小小的练习题要研究半天,珍重过往,直面未来.下面贡献代码,Java 控制台输入数字 输 ...
- java控制台输入带空格的字符串
java控制台输入带空格的字符串 Scanner sc = new Scanner(System.in); String str = sc.nextLine();
- AndroidStudio开发Java工程(解决java控制台中文打印乱码+导入jar包运行工程)
这篇分享一点个人AS开发java工程经验,虽然有时候还是得打开eclipse来运行java项目,但能用AS的时候还是尽量用AS,毕竟一个字,爽~ 废话不多说,进入正题. 一.开发Java工程 你有两种 ...
- java StringBuffer读写文件
java StringBuffer读写文件 StringBuffer的优势 较String:String每更新一次就会new一个新的对象出来,更新次数上去之后,内存开销太大.而StringBuffer ...
随机推荐
- 用nginx搭建基于rtmp或者http的flv、mp4流媒体服务器
http://itindex.NET/detail/48702-nginx-rtmp-http 一.流媒体播放方式 1. HTTP方式 这种方式要下载FLV视频文件到本地播放,一旦FLV视频文件下载 ...
- JSP:目录
ylbtech-JSP:目录 1.返回顶部 2.返回顶部 3.返回顶部 4.返回顶部 5.返回顶部 6.返回顶部 作者:ylbtech出处:http://ylbtech.c ...
- urllib2.urlopen超时未设置导致程序卡死
没有设置timeout参数,结果在网络环境不好的情况下,时常出现read()方法没有任何反应的问题,程序卡死在read()方法里,搞了大半天,才找到问题,给urlopen加上timeout就ok了,设 ...
- E20180127-hm
retain vt. 保持; 留在心中,记住; 雇用; 付定金保留;
- bzoj 1782: [Usaco2010 Feb]slowdown 慢慢游【dfs序+线段树】
考虑每头牛到达之后的影响,u到达之后,从1到其子树内的点需要放慢的都多了一个,p为u子树内点的牛ans会加1 用线段树维护dfs序,每次修改子树区间,答案直接单点查询p即可 #include<i ...
- 牛客网NOIP赛前集训营 提高组(第七场)
中国式家长 2 链接:https://www.nowcoder.com/acm/contest/179/A来源:牛客网 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 262144K, ...
- 商品期货高频交易策略Tick框架
原帖地址:https://www.fmz.com/bbs-topic/1184在商品期货高频交易策略中, Tick行情的接收速度对策略的盈利结果有着决定性的影响,但市面上大多数交易框架,都是采用回调模 ...
- Java高级程序员(5年左右)面试的题目集
Java高级程序员(5年左右)面试的题目集 https://blog.csdn.net/fangqun663775/article/details/73614850?utm_source=blogxg ...
- 1807. [NOIP2014]寻找道路P2296 寻找道路
题目描述 在有向图G 中,每条边的长度均为1 ,现给定起点和终点,请你在图中找一条从起点到终点的路径,该路径满足以下条件: 1 .路径上的所有点的出边所指向的点都直接或间接与终点连通. 2 .在满足条 ...
- FusionCharts之我用
fusioncharts:(此控件需flash支持) 介绍:http://baike.baidu.com/link?url=SOheR7sQlb93S5TqYmeI7FhtJ0V9ABNwH6OsAa ...