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. bzoj4269

    http://www.lydsy.com/JudgeOnline/problem.php?id=4269 裸线性基,一个数取多次就是没取... 又有了些新的理解:a数组的前now个元素是基底,也就是可 ...

  2. jQuery EasyUI,LinkButton(按钮)组件

    转自:https://www.cnblogs.com/adc8868/p/6639570.html jQuery EasyUI,LinkButton(按钮)组件 学习要点: 1.加载方式 2.属性列表 ...

  3. 常用开源<监控软件>介绍

    转载地址:http://blog.csdn.net/lx_9986/article/details/6803243 一.Zenoss Core Zenoss Core是开源企业级IT管理软件-是智能监 ...

  4. angularJs模版注入的两种方式

    一,声名式注入 1:app.js: var myApp = angular.module("myApp",["ngRoute"]); 2:controller. ...

  5. E20170612-sl

     tampon n.     卫生棉塞; 止血棉塞;    sanitary  n. 公共厕所;  adj.     卫生的; 清洁的;    belonging n.     附属品,附件,属性; ...

  6. Thinkphp模板标签if和eq的区别和比较

    在TP模板语言中.if和eq都可以用于变量的比较.总结以下几点: 1.两个变量的比较: <if condition=”$item.group_id eq $one.group_id”> & ...

  7. jQuery多项选择器

    jQuery多项选择器模式: $("selector1,selector2,selectorN"); 将每一个选择器匹配到的元素合并后一起返回,可以指定任意多个选择器,并将匹配到的 ...

  8. Window对象与DOM

    目前,前端插件数不胜数,比如有移动端滑动特效插件Swiper,下拉刷新的iScroll,弹出框插件layer,还有我们经常使用的JQuery,jquery.mobile等,这些插件能够满足我们日常的基 ...

  9. pyDes 实现 Python 版的 DES 对称加密/解密--转

    https://my.oschina.net/leejun2005/blog/586451 手头有个 Java 版的 DES 加密/解密程序,最近想着将其 Python 重构下,方便后续脚本解析,捣鼓 ...

  10. springboot与dubbo整合入门(三种方式)

    Springboot与Dubbo整合三种方式详解 整合环境: jdk:8.0 dubbo:2.6.2 springboot:2.1.5 项目结构: 1.搭建项目环境: (1)创建父项目与三个子项目,创 ...