【Applet】【Java】jar 内リソースからテキストファイルを読み込む 
2014/06/17 Tue [edit]
これも簡単。これまでの以下のコードを組み合わせるだけでできる。コピペで構わない。
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 機能を使ってデータを読み込み・保存する
- 関連記事
-
-
【Applet】【Java】URL経由でWebサーバ上のテキストファイルを読み込む
-
【Applet】【Java】jar 内のリソースを取得する
-
【Applet】【Java】jar 内リソースからテキストファイルを読み込む
-
【Applet】【Java】クラスから自身の jar の URL を取得する
-
トラックバック
トラックバックURL
→http://fantom1x.blog130.fc2.com/tb.php/118-624244f0
この記事にトラックバックする(FC2ブログユーザー)
| h o m e |