[問題] 讀取TXT,單讀取值後存入陣列中起始顯ꔠ…

看板java作者 (abruce042)時間16年前 (2009/10/22 00:13), 編輯推噓2(202)
留言4則, 3人參與, 最新討論串1/1
我所寫的程式功能為 讀取TXT檔案後,把裡面的個別數值存入設定好的陣列中 但是在執行的時候,顯示第一個數值的前面多了一個數值。 以下是我的程式 import java.io.*; public class c2java { public static void main(String args[]) { float f[] = new float[4]; String s = new String(); try { File file5 = new File("a.txt"); RandomAccessFile randomAccessFile = new RandomAccessFile(file5, "r"); int c = randomAccessFile.read(); randomAccessFile.seek(0); while (c != -1) { s = s + (char) c; c = randomAccessFile.read(); } randomAccessFile.close(); System.out.println("此為讀入之字串:" + s); f = string2float_array(s); System.out.println("轉成浮點數陣列:"); for (int i = 0; i < f.length; i++) { System.out.println(f[i]); } } catch (IOException ie) { System.out.println("no file"); } } public static float[] string2float_array(String s) { float f[] = new float[4]; String[] test = s.split(" "); for (int i = 0; i < test.length; i++) { f[i] = Float.parseFloat(test[i]); } return f; } } TXT檔案內容為:333 -3.2 -3 -6 但是輸出顯示卻變成: ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 此為讀入之字串:3333 -3.2 -3 -6 轉成浮點數列陣: 3333.0 -3.2 -3.0 -6.0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 語法我看不出哪裡有問題???? 還煩請高手、專家替我解答 還請解釋的簡單一些,我還是個剛上路的新手,謝謝指教!! -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.130.20.84 ※ 編輯: abruce042 來自: 140.130.20.84 (10/22 00:13) ※ 編輯: abruce042 來自: 140.130.20.84 (10/22 00:15) ※ 編輯: abruce042 來自: 140.130.20.84 (10/22 00:21)

10/22 06:05, , 1F
應該是因為call了seek(0) , 只讀取可不用RandomAccessFile
10/22 06:05, 1F

10/22 08:27, , 2F
快要觸犯作業文條款了....
10/22 08:27, 2F

10/22 21:45, , 3F
一般讀取檔案就好了 為什麼要RandomAccessFile?
10/22 21:45, 3F
這個是參考學長的...不過他畢業了無從問起;我這只是測試存入的練習= =應該還不算作 業文吧...如果是的話 我自D;我先再看看書籍好了... ※ 編輯: abruce042 來自: 140.130.20.84 (10/23 10:12)

10/23 16:06, , 4F
版規看不懂可以問,但是不看板規就沒的談了... Orz
10/23 16:06, 4F
好的...我會小心的...謝謝提醒 ※ 編輯: abruce042 來自: 140.130.20.84 (10/23 19:30)
文章代碼(AID): #1AtpCDm5 (java)