作者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/cn.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