0

我想读取文本文件并将其显示在编辑文本上,但我不知道将文本文件放在项目中的哪个位置,之后,如何调用文本文件进行读写?

我收到错误消息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

由于您没有提供文本文件的路径。您必须将它放在项目的根目录中。

您应该删除该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 回答