0

基本的に、テキストファイルをどこに置くかわからないので、プロジェクト構造の問題である可能性があると思います。ディレクトリアセットを作成し、その中に texts というフォルダーを配置し、そこに myawesometext.txt を配置しました。

私が得るエラーは、ファイルが見つからなかったという例外が呼び出されることです。

アクセス許可に関係している可能性があると思いましたが、外部ストレージではないため、それに関連するアクセス許可が見つかりませんでした。

私の質問は、ファイルがあり、アプリを実行している場合、読み取り対象の構造にアセットフォルダーを作成する必要がある場合です。スペルを再確認しました (タイプミスはありません) 例外をキャッチするだけです。

クラス:

public class AssetsTest extends Activity {

    @Override
    public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    TextView textView = new TextView(this);
    setContentView(textView);
    AssetManager assetManager = getAssets();
    InputStream inputStream = null;
    try {
        inputStream = assetManager.open("texts/myawesometext");
        String text = loadTextFile(inputStream);
        textView.setText(text);
    } catch (IOException e) { textView.setText("Couldn't load file");
    } finally {
        if (inputStream != null)
            try { inputStream.close();
            } catch (IOException e) { textView.setText("Couldn't close file");
            } }
}
    public String loadTextFile(InputStream inputStream) throws IOException { ByteArrayOutputStream byteStream = new ByteArrayOutputStream(); byte[] bytes = new byte[4096];
        int len = 0;
        while ((len = inputStream.read(bytes)) > 0) byteStream.write(bytes, 0, len);
        return new String(byteStream.toByteArray(), "UTF8"); }
}

ファイルの場所

前もって感謝します... ベン

4

1 に答える 1