在 DataInputStreamDemo 上编译我的 Demo 代码时遇到以下错误:错误:
i= Integer.parseInt(dis.readLine()) [Deprecated]
//其中 dis = 引用 DataInputStream obj
在 DataInputStreamDemo 上编译我的 Demo 代码时遇到以下错误:错误:
i= Integer.parseInt(dis.readLine()) [Deprecated]
//其中 dis = 引用 DataInputStream obj
该方法的 javadoc合理地清楚地说明了为什么它被弃用,并且已经存在了很长时间,并提出了一个更好的替代方案。
引用Javadoc:
此方法不能正确地将字节转换为字符。从 JDK 1.1 开始,读取文本行的首选方法是通过 BufferedReader.readLine() 方法。使用 DataInputStream 类读取行的程序可以通过替换形式的代码转换为使用 BufferedReader 类:
DataInputStream d = new DataInputStream(in);
和:
BufferedReader d
= new BufferedReader(new InputStreamReader(in));
不推荐使用该方法的原因:
此方法不能正确地将字节转换为字符。
解决方案
现有代码:DataInputStream d = new DataInputStream(in);
修改后的代码:BufferedReader d
= new BufferedReader(new InputStreamReader(in));