讀取文件時,在我的應用程序循環沒有退出我的客戶端和服務器programms的,每當服務器得到了來自客戶端連接服務器將發送所有可用的ID從MySQL表到客戶端,爲了這個,我已經使用,而循環讀取文件的內容。同時通過的BufferedReader
我嘗試下面的代碼:
while((a=in.read())!=-1)
但我的問題時,有在文件中讀取while循環沒有退出沒有內容,它是止步本身。如何退出while循環?
讀取文件時,在我的應用程序循環沒有退出我的客戶端和服務器programms的,每當服務器得到了來自客戶端連接服務器將發送所有可用的ID從MySQL表到客戶端,爲了這個,我已經使用,而循環讀取文件的內容。同時通過的BufferedReader
我嘗試下面的代碼:
while((a=in.read())!=-1)
但我的問題時,有在文件中讀取while循環沒有退出沒有內容,它是止步本身。如何退出while循環?
in.read()
將阻塞,直到數據可被讀取。參閱API文檔http://docs.oracle.com/javase/6/docs/api/java/io/InputStream.html#read()
此方法一直阻塞輸入數據是可用的,當檢測到 流的末尾,或拋出異常。
你可以做in.available()
檢查在做in.read()之前是否有字節可讀。
感謝您的回覆bimalesh,我已經使用in.ready(),而不是in.available所以我的作品 – 2013-02-12 05:57:07
歡迎您@SaiSai – 2013-02-12 06:10:23
,我提出我的問題,最近作爲調試插座,在該應用程序我得到有些問題可以幫助我解決問題。 – 2013-02-26 06:33:02
你不應該使用while
循環,而應該使用線程,它將等待來自套接字的輸入,並且當數據可用時它將讀取,然後它將發送/處理在流。使用一段時間,等待(阻塞),你的主線程是不是一個好主意
線程將使用while循環。沒有答案。 – EJP 2013-02-12 21:40:05
'in'是什麼類型? – xtofl 2013-02-12 05:36:14
'in.read()'是一個阻塞調用,它將停止運行並等待一些輸入 – asifsid88 2013-02-12 05:37:14
'in'是InputStreamReader的爲您回覆它從文件中讀取 – asifsid88 2013-02-12 05:37:35