如何从Java中的标准输入读取char

时间:2014-01-29 17:17:45

标签: java io java-api

我必须从Java中的标准输入读取char(一次一个)。输入将包含多行(每个大约10000个字符)。我不需要存储字符,它们在读取时会被处理。我也需要跳过换行符。有人建议我这样做的有效方法吗?

2 个答案:

答案 0 :(得分:3)

我想你需要这样的东西。 用适当的#替换#。

import java.io.InputStreamReader;

public class Test022 {

    public static void main(String[] args) throws Exception {
        InputStreamReader br = new InputStreamReader(System.in);
        char ch = ' ';
        while (true){
            ch = (char)br.read();
            if (ch == '#') break;
            else if (ch == '\n') continue;
            else if (ch == '\r') continue;

            System.out.println("Char read: " + ch);
        }
    }


}

答案 1 :(得分:1)

也许这样的事情会起作用:

import java.io.IOException;

public class Tester
{
    public static void main(String args[])
        throws IOException
    {
        int ch;
        while ((ch = System.in.read()) != -1)
        {
            if (ch != '\n' && ch != '\r')
            {
                processChar((char)ch);
            }
        }
    }


    private static void processChar(char c)
    {
        // do stuff
        System.out.println("Processing: '" + c + "'");
    }

}