0

アセットの下にあるテキストファイルにアクセスしたいのですが、そのファイルに対して何らかの処理を行い、アクティビティで呼び出されます。私が使用しているコードは次のとおりです。

AssetManager assetManager = getAssets();
InputStream instream = assetManager.open("file.txt");

これは、Activityクラスで使用すると正常に機能しますが、プレーンJavaクラスで機能させるにはどうすればよいですか?

編集済み

JamesBlack-入力ストリームを渡すと、次のコードが機能しないため

for (int i = 0; i < gestureNumbers.size(); i++) {
   BufferedReader bf = new BufferedReader(new InputStreamReader(instream));
   // possible error here
   while ((line = bf.readLine()) != null) {  ...  }
}

たとえgestureNumbers.size()> 1の場合でも、whileループは1回だけ実行され、ファイルを1回読み取るとnullになります。

次のコードは機能するが、プレーンJavaクラスでファイルを開くことができない場合、アクティビティクラスで機能するため、1つのクラスにあまり多くのコードを含めたくありません。

for (int i = 0; i < gestureNumbers.size(); i++) {
   InputStream instream = assetManager.open("BSL_Word_POS.txt");
   BufferedReader bf = new BufferedReader(new InputStreamReader(instream));
   // possible error here
   while ((line = bf.readLine()) != null) { ... }
}
4

1 に答える 1

3

アセットフォルダにアクセスするには、そのJavaクラスにコンテキストを渡す必要があります。

于 2011-09-29T12:57:41.940 に答える