看板 java 關於我們 聯絡資訊
各為大家好 最近寫的程式中, 要把JTextField 輸入的值存在文字檔中(e.g ID名稱) 然後讀取該文字檔, 不過卻發現輸入的和讀出的值會不相同 用System.out 去測試看到的卻是出現一樣的(e.g 我輸入PETER )都是System.out 出 PETER 不過用if(.equals)比卻是不同的 存檔 假設我輸入PETER try{ UserInterface.ID=UserInterface.id.getText() FileWriter fw3=new FileWriter(".\\record\\UserRecord.txt"); fw3.write(face.userid); fw3.close(); } catch(IOException io){ } 讀檔 try{ char userid []=new char[1024]; FileReader fr3=new FileReader(".\\record\\UserRecord.txt"); fr3.read(userid); catch(IOException io){ } userid轉成字串後用system.out 去看 也是顯示PETER 不過實際上兩個卻不相同用if(UserInterface.ID.eauals(face.userid))去測試為flase 以至於我要用所取得的ID去開別的檔而打不開 想請教各位是哪邊出了錯誤呢? 還請大家指點 謝謝各位. -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 120.108.205.100 ※ 編輯: jasongood117 來自: 120.108.205.100 (10/20 18:06)
dream1124:有可能是輸出寫入檔案時, 摻了空白字元或是斷行字元 10/20 19:18
dream1124:查看看fr3.read的結果是讀到幾個字元 10/20 19:21
PsMonkey:char[1024]? 都先 trim() 一下再比對吧 10/20 21:58
謝謝樓上兩位的熱心幫忙, 真的是多了空白字元, 用trim()果然就可以了, 非常感謝^_^ ※ 編輯: jasongood117 來自: 123.110.5.195 (10/21 01:00)
PsMonkey:不... 你應該去思考一下為什麼要 char[1024] 及其後果 10/21 10:58
ssc24:新手三大痛處 IO Thread synchronized 10/21 12:54
PsMonkey:到現在都還是不會 [遮臉] 10/21 13:00