在上传之前,我需要在 J2ME 中拆分音频或大图像文件。如何在 JavaME 中拆分/分解文件。
问问题
819 次
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 回答