码迷,mamicode.com
首页 > 其他好文 > 详细

再论流之读取控制台输入

时间:2014-11-01 23:19:41      阅读:376      评论:0      收藏:0      [点我收藏+]

标签:io   ar   使用   java   sp   on   bs   ad   new   

在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‘);
    }
}


再论流之读取控制台输入

标签:io   ar   使用   java   sp   on   bs   ad   new   

原文地址:http://my.oschina.net/fhd/blog/339832

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!