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控制台读写的更多相关文章

  1. Java Applet读写client串口——终极篇

    測试环境: SDK:Oracle JRockit for Java version 6, Java Communication for Windows 2.0 OS:WINDOWS7 外设:串口条形码 ...

  2. java控制台输入

    一.java控制台输入 java控制台输入有如下几个方法 1.JDK 1.4 及以下版本读取的方法 JDK 1.4 及以下的版本中要想从控制台中输入数据只有一种办法,即使用System.in获得系统的 ...

  3. java 顺序 读写 Properties 配置文件

    java 顺序 读写 Properties 配置文件 支持中文 不乱码 java 顺序 读写 Properties 配置文件 ,java默认提供的Properties API 继承hashmap ,不 ...

  4. Java IO读写中文各种乱码问题 【转】

    Java IO读写中文各种乱码问题 转自:http://blog.sina.com.cn/s/blog_484ab56f0101muzh.html java.io.*读写中文各种乱码,很费劲.不完全解 ...

  5. JAVA控制台输入输出方法总结

    java的控制台输入输出有很多方法,此文分别对其进行介绍. 1.控制台的输入 关于控制台的输入主要介绍三种方法,第一种方法使用BufferedReader获得控制台输入的数据,此方法是传统的输入方法, ...

  6. Java 控制台输入数字 输出乘法表(代码练习)

    最近,回忆了一些刚学习Java时经常练习的一些小练习题.感觉还是蛮有趣的,在回顾时想起好多学习时的经历和坎坷,一道小小的练习题要研究半天,珍重过往,直面未来.下面贡献代码,Java 控制台输入数字 输 ...

  7. java控制台输入带空格的字符串

    java控制台输入带空格的字符串 Scanner sc = new Scanner(System.in); String str = sc.nextLine();

  8. AndroidStudio开发Java工程(解决java控制台中文打印乱码+导入jar包运行工程)

    这篇分享一点个人AS开发java工程经验,虽然有时候还是得打开eclipse来运行java项目,但能用AS的时候还是尽量用AS,毕竟一个字,爽~ 废话不多说,进入正题. 一.开发Java工程 你有两种 ...

  9. java StringBuffer读写文件

    java StringBuffer读写文件 StringBuffer的优势 较String:String每更新一次就会new一个新的对象出来,更新次数上去之后,内存开销太大.而StringBuffer ...

随机推荐

  1. java笔记线程电影院卖票改进版

    通过加入延迟后,就产生了连个问题: * A:相同的票卖了多次 *   CPU的一次操作必须是原子性的 * B:出现了负数票 *   随机性和延迟导致的 public class SellTicketD ...

  2. sqlalchemy配置多读写库多连接后的关系设置

    前言 一般来说,解决sqlalchemy 连接多个库的最简单的方式是新建两个或多个db.session 相互没有关联,modle配置不同的db.session来连接,这样的话,relationship ...

  3. {Python}安装第三方包(setup.py)

    在github上下载了records文件到本地. 解压文件 cmd切换到文件setup.py的目录下 先执行 python setup.py build 再执行python setup.py inst ...

  4. 转】 mysql5.6.12 for Linux安装

    原博文出自于: http://blog.csdn.net/book_mmicky/article/details/25714049 感谢! 1:上www.mysql.org下载64位版本mysql5. ...

  5. SQLServer2005 维护计划 无法删除

    1.查看"维护计划"对象的ID use msdbselect * from sysmaintplan_plansselect * from sysmaintplan_logsele ...

  6. App保持登录状态的常用方法

    我们在使用App时,一次登录后App如果不主动退出登录或者清除数据,App会在很长一段时间内保持登录状态,或者让用户感觉到登录一次就不用每次都输入用户密码才能进行登录.银行.金融涉及到支付类的App一 ...

  7. angular 琐碎

    1.controller 只要在一个地方引用就可以了,路由的时候不用指定controller了,在HTML中指定就可以了,否则会初始化两次 2.angular 模块间的服务无层级关系,相互可见.本质是 ...

  8. LDA主题模型(理解篇)

    何谓“主题”呢?望文生义就知道是什么意思了,就是诸如一篇文章.一段话.一个句子所表达的中心思想.不过从统计模型的角度来说, 我们是用一个特定的词频分布来刻画主题的,并认为一篇文章.一段话.一个句子是从 ...

  9. CSS 如何让li横向居中显示

    先给一个简单的示例HTML代码 <body> <form id="form1" runat="server"> <div id=& ...

  10. HDU_1548_A strange lift

    题意:一部电梯(共top层),每一楼有一个数字k,在该层只能上k层或者下k层(up和down按钮),问从当前层到目标层按按钮的最小次数. 分析:广度优先搜索. 总结:初写BFS,仿照别人的代码,这方面 ...