使用字符流的控制台输入

ID:17337 / 打印

使用字符流的控制台输入

为了高效地以字符友好的方式读取java中的控制台数据(非常适合国际化),建议使用字符流而不是字节流。由于system.in是字节流,因此必须将其封装在reader中。此任务的推荐类是 bufferedreader,它使用 inputstreamreader 将字节转换为字符。

流程如下:

创建与 system.in 关联的 inputstreamreader:

inputstreamreader fluxoentrada = new inputstreamreader(system.in);  

然后将这个inputstreamreader传递给bufferedreader构造函数:

bufferedreader br = new bufferedreader(fluxoentrada);  

这样,br 就是连接到控制台的基于字符的输入流。

读取字符和字符串的方法

  • read():读取单个 unicode 字符并在流末尾返回 -1。
  • readline():以字符串形式读取完整行,直到用户按 enter 键,在流末尾返回 null。

使用示例:
以下代码从控制台读取字符直至字符 。请输入:

char c; bufferedreader br = new bufferedreader(new inputstreamreader(system.in)); system.out.println("enter characters, period to quit."); do {   c = (char) br.read();   system.out.println(c); } while(c != '.');  

另一个示例允许您阅读文本行,直到插入单词“stop”:

String str; BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); System.out.println("Enter lines of text."); System.out.println("Enter 'stop' to quit."); do {   str = br.readLine();   System.out.println(str); } while(!str.equals("stop"));  

这些方法使键盘数据输入更加方便和结构化,特别是对于需要支持不同字符编码的程序。

上一篇: 多线程环境下如何避免 Modbus 通信协议中的数据接收混乱?
下一篇: 使用FastJson转换BigDecimal时如何避免精度丢失?

作者:admin @ 24资源网   2024-11-27

本站所有软件、源码、文章均有网友提供,如有侵权联系308410122@qq.com

与本文相关文章

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。