再论流之读取控制台输入

在java1.0中,执行控制台输入的唯一方法是使用字节流。现在仍然可以使用字节流读取控制台输入。但是,对于商业应用程序,读取控制台输入的更好方法是使用面向字符的流。使用面向字符的流可以使程序更容易国际化和维护。

在Java中,控制台输入是通过从System.in读取完成的。为了获得与控制台关联的基于字符的流。可以在BufferedReader对象中封装System.io。BufferedReader支持缓存的输入流。通常使用的构造函数如下所示:

BufferedReader(Reader inputReader)

其中,inputReader是与即将创建的BufferedReader实例链接的流。Reader是抽象类,InputStreamReader是它的一个具体子类,该类将字节转换成字符。为了获得与System.in链接的InputStreamReader对象,使用下面的构造函数:

InputStreamReader(InputStream inputStream)

因为System.in引用InputStream类型的对象,所以可以用作inputStream的参数。我们来看看下面两个例子:

例一:读取字符

为了从BufferedReader对象读取字符,需要使用read()方法。每次调用read()方法都会从输入流读取一个字符,并将之作为整型值返回。

package io;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

public class BRRead {
    public static void main(String[] args) throws IOException {
        char c;
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        System.out.println("Enter characters,‘q‘ to quit.");
        do{
            c = (char)br.read();
            System.out.println(c);
        }while(c != ‘q‘);
    }
}
时间: 10-31

再论流之读取控制台输入的相关文章

将控制台输入的每一行字符串,输出至txt文件当中

/** *    需求:将控制台输入的每一行字符串,输出至txt文件当中. /** * 需求:将控制台输入的每一行字符串,输出至txt文件当中. * 思路: * 1.首先想到BufferReader高级流读取一行字符串readLine方法. * 2.但是前提依赖于字符转换流ISR和低级节点流,这里是从控制台输入,节点流自然是System.in.如果是从文件输入,则节点流换成FIS即可 * 3.这样就能建立一条输入流了.BufferedReader(new InputStreamReader(Sy

1.java.io包中定义了多个流类型来实现输入和输出功能,

1.java.io包中定义了多个流类型来实现输入和输出功能,可以从不同的角度对其进行分 类,按功能分为:(C),如果为读取的内容进行处理后再输出,需要使用下列哪种流?(G)   A.输入流和输出流 B.字节流和字符流 C.节点流和处理流   D.File stream E.Pipe stream F.Random stream G.Filter stream

Java--分支语句、循环、数组、控制台输入语句、常用数学函数

**-----本章节-----** 1.分支语句 2.循环 3.数组 4.控制台输入语句 5.部分常用的数学函数 ============================================================== 一分支语句 1.概念 (1)分支语句又称条件语句条件语句使部分程序可根据某些表达式的值被有选择地执行. (2)Java编程语言支持双路 if和多路 switch 分支语句. ===========================================

java.util.Scanner应用详解++扫描控制台输入

java.util.Scanner应用详解 java.util.Scanner是Java5的新特征,主要功能是简化文本扫描.这个类最实用的地方表现在获取控制台输入,其他的功能都很鸡肋,尽管Java API文档中列举了大量的API方法,但是都不怎么地. 一.扫描控制台输入 这个例子是常常会用到,但是如果没有Scanner,你写写就知道多难受了. 当通过new Scanner(System.in)创建一个Scanner,控制台会一直等待输入,直到敲回车键结束,把所输入的内容传给Scanner,作为扫

字符串控制台输入及字符串比较

描述茵茵很喜欢研究车牌号码,从车牌号码上可以看出号码注册的早晚,据研究发现,车牌号码是按字典序发放的,现在她收集了很多车牌号码,请你设计程序帮她判断注册较早的号码.车牌号码由5个字母或数字组成 首先解决输入的问题:先输入一个数字,表示输入的字符串个数,我们接下来再用字符串数组接受输入. Scanner scanner=new Scanner(System.in); Scanner是JDK提供的java.util工具包下的一个类,此类为我们提供了很多可用的方法. scanner扫描器可以用作控制台

获取在控制台输入命令后的结果

背景:在控制台输入命令如查询手机设备的命令,需要获取到控制台的内容 实现代码,主要是当文件流的方式实现 public static void main(String[] args) { Process process = null; List<String> processList = new ArrayList<String>(); System.out.println("执行命令开始:"); try { process = Runtime.getRuntim

文件读取与输入

/* *程序的版权和版本声明部分: *Copyright(c)2014,烟台大学计算机学院学生 *All rights reserved. *文件名称: *作者:马广明 *完成日期:2014 年 6 月 3 日 *版本号:v1.0 *输入描述: 无 *问题描述:读入不超过500人的工资数据,进行排序,并输出到文件 *程序输出:排序后的工资 *问题分析: *算法设计: */ #include <iostream> #include <fstream> #include <cst

2016/1/10 实例 1,控制台 输入人数 2,控制台 输入对应人数的成绩 3,求成绩总和以及最大值 最小值 平均值

1 import java.util.Scanner; 2 3 4 public class KongZhitai { 5 6 7 public static void main(String[] args) { 8 // TODO 自动生成的方法存根 9 10 //第一步 输出 扫描 接收 人数 11 int number=0; //定义变量 12 System.out.println("请输入人数:"); 13 Scanner arr=new Scanner(System.in);

java 怎么实现接收控制台输入?

//接收键盘输入: //怎么实现接收控制台输入? import java.util.Scanner; //Test.java import java.util.Scanner; public class Test16{ public static void main(String args[]){ System.out.println("input a number:"); Scanner in =new Scanner(System.in); int x1=in.nextInt();