Som*_*Guy 29 java user-input readline datainputstream
我在java 6. DataInputStream in = new DataInputStream(System.in);
用于读取用户输入.不推荐使用readLine()时.阅读用户价值的工作是什么?
DataInputStream in = new DataInputStream(System.in);
int num;
try
{
num = Integer.parseInt(in.readLine()); //this works
num = Integer.parseInt(in); //just in doesnt work.
}
catch(Exception e)
{
}
Run Code Online (Sandbox Code Playgroud)
请在不推荐使用readLine()时解释.
Bal*_*usC 25
通常已经在javadoc中明确解释了弃用和替代方案.所以这将是第一个寻找答案的地方.对于DataInputStream
你可以找到它在这里.该readLine()
方法是在这里.这是相关的摘录:
不推荐.此方法无法将字节正确转换为字符.从JDK 1.1开始,读取文本行的首选方法是通过该
BufferedReader.readLine()
方法.使用DataInputStream
该类读取行的程序可以BufferedReader
通过替换表单的代码转换为使用该类:Run Code Online (Sandbox Code Playgroud)DataInputStream d = new DataInputStream(in);
有:
Run Code Online (Sandbox Code Playgroud)BufferedReader d = new BufferedReader(new InputStreamReader(in));
然后可以在构造函数中显式指定字符编码InputStreamReader
.
该Scanner
自Java 1.5中它被引入也是一个很好的(和现代的)替代.