Io 如何在Java中从标准输入读取字符

Io 如何在Java中从标准输入读取字符,io,java,Io,Java,我必须从Java的标准输入中读取字符(一次一个字符)。输入将由许多行组成(每行大约10000个字符)。我不需要存储字符,它们在读取时会被处理。我还需要跳过换行符。有人能给我建议一种有效的方法吗?我想你需要这样的东西。 将#替换为适当的 import java.io.InputStreamReader; public class Test022 { public static void main(String[] args) throws Exception { Inp

我必须从Java的标准输入中读取字符(一次一个字符)。输入将由许多行组成(每行大约10000个字符)。我不需要存储字符,它们在读取时会被处理。我还需要跳过换行符。有人能给我建议一种有效的方法吗?

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

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


}

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

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


}

也许这样的方法会奏效:

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 + "'");
    }

}

也许这样的方法会奏效:

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 + "'");
    }

}

使用
input.replaceAll()
method并替换您想要的任何内容。您到目前为止尝试了什么…请查看/下载文档,然后提出该问题,您不会被否决…它可能包含在字符串类中。使用
input.replaceAll()
method并替换任何您想要的内容。您迄今为止尝试的内容…查看/下载文档,然后提出该问题,您不会被否决…它可能包含在字符串类中。当它读取EOF时,我需要打破循环。EOF在java中是如何表示的?@piyukr它是(-1)的int值。当它读取EOF时,我需要中断循环。EOF在java中是如何表示的?@piyukr它是(-1)的int值。