2013-08-24 24 views
-1

我也遇到過下面的錯誤在編譯時就DataInputStreamDemo我的演示代碼: 錯誤:i = Integer.parseInt(dis.readLine())[已棄用] ..如何解決它?

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

//其中DIS =參考DataInputStream所OBJ

+2

語言?版?什麼類型是「dis」?鏈接到在線文檔中已棄用的方法,如果您尚未通過閱讀文檔中的註釋來解決問題,那麼我們可以建議一種替代方法? – ataulm

+0

java se 1.6,數據類型:DataInputStream dis = new DataInputStream(資源) – Raviteja

+0

java.io.DataInputStream中的readLine()已被棄用 – Raviteja

回答

1

原因的方法被棄用:

This method does not properly convert bytes to characters.

解決方案

現有代碼:DataInputStream d = new DataInputStream(in);

修改後的代碼:BufferedReader d = new BufferedReader(new InputStreamReader(in));

refrences

+1

鏈接只有答案是不鼓勵的,因爲鏈接可能會隨着時間而死亡。鏈接很棒,但你的答案應該能夠獨立存在。 – ataulm

+0

肯定先生,我會記住我未來的帖子。 :) 因爲相同的內容被回答我會離開這個帖子,因爲這是爲了避免重複的答案 –

+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)); 
相關問題