2013-06-07 2 views
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; 
    } 

ответ

1

Поскольку вы не представили путь для текстового файла. Вы должны поместить его в корень вашего проекта.

Вы должны удалить строку txtEditor.setText(reader.toString()); в методе readTextFile по двум причинам:

  • reader.toString() не даст вам текст, содержащийся в читателе, но он печатает адрес памяти объекта (getClass().getName() + '@' + Integer.toHexString(hashCode()), потому что метод toString() является унаследованным от класса Object.

  • метод уже возвращает текст, содержащийся в файле.


Так создать переменную, которая содержит эту строку и установить его в EditText.

String text = readTextFile("test.txt");  
txtEditor.setText(text); 
+0

или он может chage txtEditor.setText (reader.toString()); с txtEditor.setText (returnValue); – Blackbelt

Смежные вопросы