0

プロジェクトにある txt ファイルを読み込もうとしています。FileNotFound という例外が発生し続けますが、その理由がわかりません。ファイルは AnroidManifest XML の下のプロジェクト フォルダーにありますが、とにかく私から隠れるのに優れています。私はこれにイライラして夢中になりそうなので、助けてください。Raw と Assets を使用して txt ファイルを読み取ることができることはわかっていますが、この txt ファイルを読み取るだけでなく書き込みもできる必要があります。

public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    FileInputStream getIn;
    try {
        getIn = openFileInput("filenames.txt");
        //Creating an InputStreamReader and setting my FileInputStream
        InputStreamReader read = new InputStreamReader(getIn);
        //Creating a new BufferReader and adding the InputStreamReader
        BufferedReader dis = new BufferedReader(read);
        Toast.makeText(getApplicationContext(), dis.readLine(), Toast.LENGTH_SHORT).show();
    } catch (FileNotFoundException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    } catch (IOException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }
}

}

4

2 に答える 2

2

ファイルをアセットに保存しないでください。YourProject/res に移動し、raw というディレクトリを作成してそこに保存します。

ファイルを内部ストレージに保存することもできますが、目的には res/raw アプローチの方が適していると思います。

これを読む:

http://developer.android.com/guide/topics/data/data-storage.html#files内部

于 2013-04-24T01:57:13.153 に答える
0

マニフェスト ファイルが存在するアプリケーションのメイン フォルダーにファイルを配置することはできません。openFileInput("filenames.txt") 関数は、電話の内部メモリの次のパスに存在するファイルを読み書きしようとしている場合にのみ機能します

/data/data/<application-package>/files/<file-name>

できることの 1 つは、最初にアプリケーションを実行してファイルを保存し、後でそのファイルを読み書きすることです。

于 2013-04-24T02:18:18.813 に答える