Re: [問題] 讀檔的疑問

看板java作者 (隱者)時間19年前 (2006/05/03 05:49), 編輯推噓1(100)
留言1則, 1人參與, 最新討論串3/3 (看更多)
※ 引述《TonyQ (骨頭)》之銘言: : ※ 引述《VictorLeon (QQ"￾ ￾N)》之銘言: : : 最近才剛接觸JAVA不久 想請教一下讀檔的問題 : : 我現在想讀取一個有固定格式的檔案 : : 比如說檔案開頭有2個INT類型的資訊 也就是佔了8個Byte : : 之後就全是Float的內容 所以想把後面的東西讀進float的陣列裡 : : 但是看了書中的介紹 也只教到一次讀一個Byte陣列 或者讀字元 : : 從前用C++的時候 就可以使用Read(&data,sizeof(data)) [----------------------] 這 明明是c的標準函式庫的東西啊 : : 能讀進資料到所宣告的不同型態的變數裡 : : 換成在Java 有什麼比較快速的方法嗎? : Scanner可以參考看看:) : http://java.sun.com/j2se/1.5.0/docs/api/java/util/Scanner.html : 在確定資料型態的狀況下可以透過各種型態的next方法來取得資料 : ex. : nextFloat() : nextInt() 補上另外一種做法, 如果有遇到Endian的問題時可以用XD public Database makeDB () { byte[]b = new byte[4]; int count = 0, i = 0, xd = 0; try { while (stream.available () > 0) { stream.read (b); stream.read (b); stream.read (b); count = ByteBuffer.wrap (b).order (ByteOrder.LITTLE_ENDIAN).asIntBuffer (). get (); Transaction t = new Transaction (); for (i = 0; i < count; i++) ............................... -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 163.26.34.20 ※ 編輯: qrtt1 來自: 163.26.34.20 (05/03 05:52) ※ 編輯: qrtt1 來自: 163.26.34.20 (05/03 05:53)

05/04 04:02, , 1F
確實遇到這問題 謝謝解惑 感激不盡
05/04 04:02, 1F
文章代碼(AID): #14LzFcOD (java)
討論串 (同標題文章)
文章代碼(AID): #14LzFcOD (java)