0

ファイルをディレクトリ assets に入れました。どうすれば入手できますか? 指示に従ってみましたが、うまくいきませんでした:

File f = new File("/data/data/ant.BrowserX/files/" + pagCorrente + ".html");

File f = new File("file:///android_asset/" + pagCorrente + ".html");

エラーはありませんが、実行中はファイルにアクセスできません。ディレクトリ「assets」にアクセスするにはどうすればよいですか?

編集

トリックをありがとう。InputStream ではなく、BufferedReader を使用してファイルを読み取り、そのように初期化するという問題があります。

in = new BufferedReader(new FileReader(f));

どうすればいいですか?

4

3 に答える 3

4

getResources() 内の getAssets() メソッドを使用して、ファイルから InputStream を取得できます。

 InputStream is = getResources().getAssets().open("file.html");

次に、ストリームを必要なものに変換するだけです

于 2012-06-14T15:55:46.187 に答える
2

これを使用して入力ストリームを取得できることはわかっています:

  final AssetManager assetMgr = this.getResources().getAssets();  
  InputStream is = assetMgr.open(pagCorrente +".html"); 

したがって、おそらく次を使用できます。

   File f = new File(this.getResources().getAssets() + pagCorrente + ".html");
于 2012-06-14T15:58:13.223 に答える
1

簡単な答えは、「ディレクトリ」アセットにアクセスしないことです。.apk にはディレクトリ構造はなく、単なるデータです。フレームワークはそれにアクセスする方法を認識してgetAssets()いますが ( )、標準のディレクトリのように使用することはできません。

そうは言っても、WebView を使用して html ファイルにアクセスしようとすると (これがどのように見えるか)、次のように使用できる「偽の」パス参照が挿入されます。

WebView wv = (WebView)this.findViewById(R.id.yourWebView); 
wv.loadUrl("file:///android_asset/" + pagCorrente + ".html");
于 2012-06-14T16:03:20.497 に答える