作者qrtt1 (隐者)
看板java
标题Re: [问题] 读档的疑问
时间Wed May 3 05:51:01 2006
※ 引述《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)
1F:推 VictorLeon:确实遇到这问题 谢谢解惑 感激不尽 05/04 04:02