ZIP形式のファイルを扱うには
JarInflaterクラスを利用します。(DoJa 3.0以降)
ZIPファイルの展開のみ利用できます。
例)
リソース内のsample.zipファイルを開き、画像とテキストを取り出して表示します。
ZipTest.zip(この例の実際のプロジェクト)
import com.nttdocomo.ui.*;
import com.nttdocomo.util.JarInflater;
import javax.microedition.io.Connector;
import java.io.InputStream;
public class ZipTest extends IApplication
{
public void start()
{
Image img=null;
String str="";
try
{
// リソース内内のZIPファイルを開く
// スクラッチパッドを指定しても良い
JarInflater ji;
ji = new JarInflater(
Connector.openInputStream("resource:///sample.zip"));
// ZIPファイル内の画像を取り出す
MediaImage mi;
mi = MediaManager.getImage(ji.getInputStream("img.gif"));
mi.use();
img = mi.getImage();
// ZIPファイル内の文字列データを取り出す
InputStream is=ji.getInputStream("text.txt");
byte [] buf=new byte[1024];
is.read(buf);
str=new String(buf,"SJIS");
// ZIPファイルを閉じる
ji.close();
}
catch(Exception e){}
// パネル作成
Panel p = new Panel();
// 画像表示
if(img!=null) p.add(new ImageLabel(img));
// 文字列表示
p.add(new Label(str));
Display.setCurrent(p);
}
}
注意)スクラッチパッドを指定する時は、pos(位置)とlength(ファイルサイズ)の指定が必要です。 指定方法は"scratchpad:///0;pos=0,length=13281"みたいな感じです。
|