FC2ブログ
ヽ|∵|ゝ(Fantom) の 開発blog? ホーム » Applet »【Applet】【Java】jar 内リソースからテキストファイルを読み込む

【Applet】【Java】jar 内リソースからテキストファイルを読み込む  


これも簡単。これまでの以下のコードを組み合わせるだけでできる。コピペで構わない。

getJarFileURL() - クラスから自身の jar の URL を取得する
toJarURL() - jar 内のリソースを取得する
loadText() - ストリームからテキストファイルを読み込む

実行は前回同様 Applet で Web ページから、.jar で起動してることを想定している。読み込むファイルが、Web サーバ上から、 jar 内リソースに変わっただけだ。

//設定値
private static final String DEFAULT_ENCORDING = "UTF-8"; //デフォルトのエンコード

//jar ファイル内から、テキストファイルを読み込む
public static final String loadTextJar(String fileName, Object context) throws IOException, FileNotFoundException {
final String jarUrl = toJarURL(fileName, context);
if (jarUrl == null) { //見つからないとき
throw new FileNotFoundException();
}
final URL url = new URL(jarUrl);
InputStream is = url.openStream();
return loadText(is, DEFAULT_ENCORDING);
}

//メインでは... (※例外処理は省略)
String fileName = "res/data/sample.txt"; //jar 内相対パス
String text = loadTextJar(fileName, this); //this は起動した Applet オブジェクトが良い

//System.out.println(text);
//↑では確認しずらいので、↓のメソッドなどで確認
public void paint(Graphics g) {
g.drawString(text, 5, 25);
}

内容的には前回の「URL経由でWebサーバ上のテキストファイルを読み込む」とほとんど変わらない。toJarURL() から null が返って来た時、わかりやすいように FileNotFoundException() を throw しているが、特に何でも構わない。

これで jar ファイル内に小さな設定ファイルなどを置いて、読み込んで行く事もできる。
ストリームを開いて、loadText() に投げるという基本は変わらない。

次回からは同じ要領で Android でのテキストファイルの読み込みを考えてみよう。


(関連記事)
【Applet/汎用】URL経由でWebサーバ上のテキストファイルを読み込む
【Android】res/raw リソースフォルダからテキストファイルを読み込む
【Android】assets フォルダからテキストファイルを読み込む
【Android】内部ストレージからテキストファイルを読み込む
【Android】内部ストレージにテキストファイルを保存する
【Android】SDカードからテキストファイルを読み込む
【Android】SDカードにテキストファイルを保存する
【汎用】ストリームからテキストファイルを読み込む(ストリームから読み込み、テキストエンコードして返す)
【汎用】ローカルシステム(Windows 等)から、テキストファイルを読み込む
【Android】【Applet】【Java】テキストファイルの読み込み・保存 まとめ
【Android】Preference 機能を使ってデータを読み込み・保存する



スポンサーサイト

category: Applet

thread: プログラミング

janre: コンピュータ

tag: テキストファイル読み込み 
tb: 0   cm: --



トラックバック

トラックバックURL
→http://fantom1x.blog130.fc2.com/tb.php/118-624244f0
この記事にトラックバックする(FC2ブログユーザー)

プロフィール

Social

検索フォーム

全記事一覧

カテゴリ

ユーザータグ

最新記事

リンク

PR

▲ Pagetop