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