作者dwadefans (wade)
看板java
標題[問題] 存儲float比較好的方式
時間Tue Jun 21 13:13:37 2016
我有大量的float[]資料
我使用FileOutputStream搭配DataInputStream存入檔案
參考:
http://www.tutorialspoint.com/java/io/dataoutputstream_writefloat.htm
但是要將file內的float[]拿出來的時候
使用以上的方法會是一個一個取出而且沒辦法知道丟入時float的大小
不知道有沒有比較好的方式可以做到快速存儲呢?
因為我的實作上必須即時比對多個檔案 謝謝
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 219.69.123.238
※ 文章網址: https://webptt.com/m.aspx?n=bbs/java/M.1466486020.A.4F4.html
1F:推 james732: "只"有float資料嗎?直接存binary? 06/21 13:18
2F:→ pico2k: google "java float array serializable" 06/21 13:59
3F:推 popcorny: 一開始先寫個int代表size不就解決了? 06/21 18:06
4F:→ cowbaying: 用queue存 需要時無窮迴圈poll出來就好了 06/21 18:08
5F:→ cowbaying: 等到poll丟出null再跳出迴圈 結案 06/21 18:08
感謝各位的建議
我後來改成float的size放在第一個
width, height放第二、三個
剩下其餘都會是data來幫助去讀取float[]
不過速度還是很慢 還在想其他解決方式
或許序列化存入檔案會是較快的方式
※ 編輯: dwadefans (219.69.123.238), 06/22/2016 01:27:02
6F:→ kyleJ: 完全只有float的話 檔案最前面寫個int size 或是直接計算 06/22 01:28
7F:→ kyleJ: 檔案大小除一下都可以得知裡面有多少float 06/22 01:28
8F:→ kyleJ: 關於速度很慢 你有加Buffered嗎?看文章好像沒提到 06/22 01:29
9F:→ kyleJ: 硬碟IO時沒有Buffered的速度差很多 06/22 01:33
您好 我沒有加Buffered 我再試試看!!
※ 編輯: dwadefans (219.69.123.238), 06/22/2016 10:13:46
10F:推 csieflyman: 試試 java nio FileChannel + MappedByteBuffer 06/22 10:19