1

在上传之前,我需要在 J2ME 中拆分音频或大图像文件。如何在 JavaME 中拆分/分解文件。

4

2 回答 2

0

DataInputStream dis = FileConnection.getDataInputStream();

字节[]缓冲区=新字节[2048];

整数计数;

整数 = 0;

向量 v = 新向量();

ByteArrayOutputStream baos = new ByteArrayOutputStream();

而((计数= dis.read(缓冲区))>= 0)

{

总计 += 计数;

baos.write(缓冲区,0,计数);

如果(总计 > 100000 )

{

baos.close();

byte[] data = baos.toByteArray();

v.addElement( data );

baos = new ByteArrayOutputStream();
}

}

所以你会有几个字节数组的向量。并且可以一一发送。

或者将所有文件数据读入一个字节数组中,并通过移动发送数据的起始位置将这些数据分部分发送。

于 2010-10-01T12:57:24.207 回答
0

您使用什么 API 来加载文件?

1)如果使用 FileConnection API,您可以按块加载数据。在这种情况下没有问题。

2)如果你使用 Class.getResourceAsStream( String pathInsideJar ) 你会遇到问题。大多数 KVM 在将控制权返回给您的代码之前会完全加载资源。所以我看到了一种方法 - 在创建 jar 之前将大文件拆分为几个小文件。

于 2010-09-30T14:15:52.053 回答