流的使用问题 请问在JAVA里读ObjectInputStream流里面的数据时如何知道整型对象,浮点型对象,字符对象等对象所占的字节数呢?然后进行跳过这些长度读取下面的数据呢?问题一:如何知道整型,浮点型等对象在流里面所占的字节数?问题二:跳过读取数据问题三:有什么好的建议实现在流里面进行随意读取数据呢?谢谢各位!! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 正解。数据是你写入的,你按照写入的顺序读取出来就对了。否则,你就整个对象写入,整个读取,让Java自己折腾去。 例如我写入的数据是日期对象,我想读第二条数据,也就是说跳过前一条数据,那要知道一条数据的字节数(例子中指日期对象的字节数)才可以使用Skip来跳啊,那对象如何算字节? 在流中只能顺序取,不能跳过,这不是数组而是一个管道,管道前面的东西没出来,后面的是不可能读到的!一般你都必须知道流中的数据合法长度,有时我们刻意的约定读大数据的时候,先发4个字节组成一个int来表示接下来存在管道中大数据的字节数,然后按量读取,这样来达到精确控制的能力 如果不能跳读,那JAVA提供的流API --- skip()和skipBytes()干嘛用? 我现在知道基本类型怎么跳,就例如int型,现在我机器是4B,我就可以这样跳读下一条记录Skip(4),但如果记录里面有日期和字符串,那计算B就不知道怎么算了,例如我存入的时候是oos.writeInt(12345);oos.writeObject(new Date());oos.writeObject("sssrrrr"); 那我要算B的时候是4+?+?呢??请大家指点一下,谢谢了啊!!! 你想实现跳读的话,可以使用RandomAccessFile类,此类使用户可以用之来严格处理文件! eclipse工程管理其实仅仅只是一个目录管理而已。是吗? 谁有 << JavaScript核心技术 >>????????? 请问电信类软件需要学习java什么知识 socket传送多个文件 没见过的问题 屏幕坐标问题 请问如何用java将文件映射到内存 帮忙看看这个程 序?其中的mouseRelease()怎么不起作用? 我装上JBuilder8以后,Applet的Paint方法都不能显示阿?为什么? 谁能给一个JBuilder4的序列号和key? swt程序打包问题 关于public类的问题
正解。数据是你写入的,你按照写入的顺序读取出来就对了。
否则,你就整个对象写入,整个读取,让Java自己折腾去。
一般你都必须知道流中的数据合法长度,有时我们刻意的约定读大数据的时候,先发4个字节组成一个int来表示接下来存在管道中大数据的字节数,然后按量读取,这样来达到精确控制的能力