戻る 05.ファイル読み込み 次へ

実際にゲームなどを作り出すとファイルからデータを読み込んで
値を取得する必要が多々あります。
jarに内蔵したファイルからデータを読み込んで見ましょう。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
package org.homebrew;
	import	java.awt.*;
	import	java.awt.event.*;
	import	javax.tv.xlet.*;
	import	org.havi.ui.*;
	
	import java.io.*;

public class MyXlet extends Component implements Xlet{
	private HScene hs;
	String	str[]	=	new	String[10];
	byte	map[]	=	new	byte[100];
	public void initXlet(XletContext context){
		hs= HSceneFactory.getInstance().getFullScreenScene(HScreen.getDefaultHScreen().getDefaultHGraphicsDevice());
		setBounds(hs.getBounds());
		hs.add(this);
		hs.setVisible(true);
		requestFocus();
		try{
			InputStream is=getClass().getResourceAsStream("test.dat");
			for(int c=0;c<5;c++){
				map[c]	=	(byte)is.read();
			}
			is.close();
		}catch(Exception e){
			e.printStackTrace();
		}
		repaint();
	}
	public void startXlet(){	}
	public void pauseXlet(){	}
	public void destroyXlet(boolean unconditional){	}

	public void paint(Graphics g){
		g.setColor(new Color(0,0,0));
		g.fillRect(0,0,getWidth(),getHeight());
		g.setColor(new Color(255,255,255));
		for(int c=0;c<5;c++){
			g.drawString(""+map[c], 100, 20+20*c);
		}
	}
}
・ファイルIO関係はimport java.io.*;をインポートに付け加えます。
後はtest.datと呼ばれるバイナリデータを用意して表示しているだけです。