Эй, ребята, я действительно борюсь с проблемой при попытке прочитать текстовый файл в Android Java.
public String readFromFile(String filename)
{
String content = "";
try
{
File dir = new File(Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOCUMENTS) + "/MyApplication");
File file = new File(dir, filename);
Scanner scanner = new Scanner(file);
String line = "";
while(scanner.hasNextLine())
{
line = scanner.nextLine();
content += line + "\n";
}
scanner.close();
}
catch(Exception e)
{
e.printStackTrace();
}
return content;
}
Я пытался извлечь содержимое с помощью сканера и буферизованного считывателя
public List<String> readFromFile(String filename)
{
List<String> lines = new ArrayList<String>();
FileReader fileReader;
BufferedReader bufferedReader;
try
{
File dir = new File(Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOCUMENTS) + "MyApplication");
File file = new File(dir, filename);
fileReader = new FileReader(file);
bufferedReader = new BufferedReader(fileReader);
String line = bufferedReader.readLine();
while(line != null)
{
lines.add(line);
bufferedReader.readLine();
}
bufferedReader.close();
}
catch(Exception e)
{
e.printStackTrace();
}
return lines;
}
Но, похоже, ни один из них не работает.Функции возвращают только ноль, как если бы файл был пустым.Также я не получаю сообщений об ошибках, и я дважды проверил путь.Обычно эти функции прекрасно работают для меня, но я не могу решить эту проблему.
Я ценю любую помощь:)
РЕДАКТИРОВАТЬ: Если обнаружена проблема.Все хорошо с разрешениями или расположением файла, проблема была в том, что я вставил
FileOutputStream fileOutputStream = new FileOutputStream(file)
в код, прежде чем вызывать метод readFromFile ().Я думаю из-за этого метод readFromFile () вернул, что файл был пустым.Спасибо за ваши ответы!