i = Integer.parseInt(dis.readLine())[已弃用] ..如何解决?

时间:2013-08-24 14:23:06

标签: java deprecated

在DataInputStreamDemo上编译我的演示代码时遇到以下错误: 错误:

i= Integer.parseInt(dis.readLine()) [Deprecated]

//其中dis =引用DataInputStream obj

2 个答案:

答案 0 :(得分:1)

javadoc for this method能够清楚地说明它为什么被弃用,并且已经存在了很长时间,并提出了更好的选择。

引自Javadoc:

此方法无法将字节正确转换为字符。从JDK 1.1开始,读取文本行的首选方法是通过BufferedReader.readLine()方法。使用DataInputStream类读取行的程序可以通过替换表单的代码转换为使用BufferedReader类:

 DataInputStream d = new DataInputStream(in);

使用:

 BufferedReader d
      = new BufferedReader(new InputStreamReader(in));

答案 1 :(得分:1)

弃用方法的

原因

  

此方法无法将字节正确转换为字符。

解决方案

现有代码:DataInputStream d = new DataInputStream(in);

修改后的代码:BufferedReader d = new BufferedReader(new InputStreamReader(in));

refrences