0

テキスト ファイルを読み込んで edit-text に表示したいのですが、プロジェクト内のどこにテキスト ファイルを配置すればよいかわかりません。その後、テキスト ファイルを読み書き目的で呼び出すにはどうすればよいですか?

エラーが発生していますNo such file or directory

これは私がこれまでに行ったことです:

protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
     txtEditor=(EditText)findViewById(R.id.textbox);
     readTextFile("test.txt");

}

@Override
public boolean onCreateOptionsMenu(Menu menu) {
    // Inflate the menu; this adds items to the action bar if it is present.
    getMenuInflater().inflate(R.menu.main, menu);
    return true;
}
public String readTextFile(String fileName) {

      String returnValue = "";
      FileReader file = null;

      try {
        file = new FileReader(fileName);
        BufferedReader reader = new BufferedReader(file);
        String line = "";
        while ((line = reader.readLine()) != null) {
          returnValue += line + "\n";
        }
        txtEditor.setText(reader.toString());
      } catch (Exception e) {
          throw new RuntimeException(e);
      } finally {
        if (file != null) {
          try {
            file.close();
          } catch (IOException e) {
            // Ignore issues during closing 
          }
        }
      }
      return returnValue;
    } 
4

1 に答える 1

1

テキストファイルのパスを指定しなかったためです。プロジェクトのルートに配置する必要があります。

次の 2 つの理由からtxtEditor.setText(reader.toString());、メソッド内の行を削除する必要があります。readTextFile

  • reader.toString()リーダーに含まれるテキストは表示されませんが、メソッドがクラスから直接継承されているgetClass().getName() + '@' + Integer.toHexString(hashCode()ため、オブジェクトのメモリ アドレス ( )が出力されます。toString()Object

  • このメソッドは、ファイルに含まれているテキストを既に返しています。


したがって、この文字列を保持する変数を作成し、EditText.

String text = readTextFile("test.txt");    
txtEditor.setText(text);
于 2013-06-07T10:59:43.223 に答える