-1

Herarchy に資産フォルダがありませんファイルの場所Android プロジェクトのアセット フォルダーにファイル "myFile.txt" があり、以下に示す Android コードでそのテキストを読み取ろうとしています。

    String filename= "myFile.txt";

    InputStream inputStream;

    try {

        inputStream = getAssets().open(filename) ;
        BufferedReader br = new BufferedReader(new InputStreamReader(inputStream));
        String text = br.readLine();
        Toast.makeText(getApplicationContext(), text, Toast.LENGTH_LONG).show();
        TextView tw = (TextView) findViewById(R.id.hello);
        tw.setText(text);
        br.close();
        inputStream.close();
    } catch (Exception e) {
        Toast.makeText(getApplicationContext(), e.getMessage(), Toast.LENGTH_LONG).show();
        //e.printStackTrace();
    }

「myFile.txt」というテキストを含むキャッチ ブロックにトーストが表示されますが、アプリケーションはクラッシュしません。助けて。待っている。

4

1 に答える 1

1

エラーが言っているように、Android はあなたが探しているファイルを見つけることができません。最初に、ファイルがここにあるかどうかを確認する必要があります (たとえば、 や ではassets/txtありません/build/assets/)。

MainProjectFolder
|--> res
|--> src
|--> assets
    |--> yourFile.txt

次に、次の方法でコンテンツにアクセスします。

    String everything = "";

    AssetManager am = context.getAssets();
    InputStream is = am.open(filename);
    BufferedReader br = new BufferedReader(is);
    try {
        StringBuilder sb = new StringBuilder();
        String line = br.readLine();

        while (line != null) {
            sb.append(line);
            sb.append('\n');
            line = br.readLine();
        }
        everything = sb.toString();
    } finally {
        br.close();
        inputStream.close();
    }

    TextView tw = (TextView) findViewById(R.id.hello);
    tw.setText(everything);
于 2013-11-03T10:26:25.577 に答える