Re: [JSP ] readline時會停住的問題…

看板java作者 (淺水中)時間13年前 (2011/07/20 19:39), 編輯推噓0(004)
留言4則, 1人參與, 最新討論串2/2 (看更多)
※ 引述《ryannork (下雨天)》之銘言: : 標題: [JSP ] readline時會停住的問題… : 時間: Sun Jul 17 15:45:56 2011 : : ※ 發信站: 批踢踢實業坊(ptt.cc) : ◆ From: 122.125.57.131 : → calais007:我猜你的input不存在CR/LF,你可以印每個byte出來看看 07/19 15:19 : → calais007:你可以看看最後有沒有0D或是0A這兩個byte 07/19 15:21 : → ryannork:我用getbytes("UTF-8")得到 [B@1e3a0ec 這值次出來都不一 07/20 10:48 : → ryannork:之前也試過WA_in(input+"\r\n")但是結果是一樣的 = = 07/20 10:52 : → calais007:那就不要用readLine,看你來是最後沒有od和oa所以卡住了 07/20 14:31 : → calais007:打錯,是0d或0a 07/20 14:32 : → ryannork:不好意思,那請問可以用什麼代替? 07/20 17:46 先跟你說幾個觀念 1. 你印出來的byte每次會不一樣是因為你去印byte的referece 請你印byte是要你一個個byte印 當你getBytes後return回來是一個array 你應該是要寫個for loop去印整個array的內容 你印個reference沒有用 VM每次給array的記憶體位置都不一樣 你印當然都不一樣 不懂你印reference幹什麼 2. 得到String的方法不是只有readLine 萬一你好死不死的整個文章都沒有0a或0d不就卡了 你可以從byte讀 放到string buffer 再轉成string StringBuffer strbuf = new StringBuffer(); byte buf[] = new byte[256]; while( WA_Out.read(buf) != -1) { strbuf.append(buf); } // compare your string with stringbuffer if ( !strbuf.toString().equals(output) ) { // ..... } 如果你的input有多行的話...請自行處理 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 180.176.8.219

07/21 19:39, , 1F
呃…在read()這行出現無法讀取byte[],只能讀charBuffer
07/21 19:39, 1F

07/21 19:47, , 2F
我就改用char[],執行後一樣停在了read()
07/21 19:47, 2F

07/23 16:05, , 3F
感謝你的回答…
07/23 16:05, 3F

07/23 16:07, , 4F
我把原本一個迴圈做三件事改三個迴圈做就讀得到了@@
07/23 16:07, 4F
文章代碼(AID): #1E9hw7fc (java)
文章代碼(AID): #1E9hw7fc (java)