登录
首页 >  文章 >  java教程

使用字符流的控制台输入

来源:dev.to

时间:2024-12-09 08:28:01 312浏览 收藏

本篇文章主要是结合我之前面试的各种经历和实战开发中遇到的问题解决经验整理的,希望这篇《使用字符流的控制台输入》对你有很大帮助!欢迎收藏,分享给更多的需要的朋友学习~

使用字符流的控制台输入

为了高效地以字符友好的方式读取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"));

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

以上就是本文的全部内容了,是否有顺利帮助你解决问题?若是能给你带来学习上的帮助,请大家多多支持golang学习网!更多关于文章的相关知识,也可关注golang学习网公众号。

声明:本文转载于:dev.to 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>