Мне нужно прочитать некоторые данные, хранящиеся в файле в памяти мобильного телефона. Я могу только прочитать, что когда я печатаю результат в терминале, он выводит мне только несколько строк. Мой файл содержит следующие данные:
Я прочитал эти данные с помощью следующего кода:
File sdcard = Environment.getExternalStorageDirectory();
//Get the text file
File file = new File(sdcard,"data.txt");
//Read text from file
StringBuilder text = new StringBuilder();
try {
BufferedReader br = new BufferedReader(new FileReader(file));
String line;
while ((line = br.readLine()) != null) {
text.append(line);
text.append('\n');
System.out.println(line); //print the result on terminal
}
br.close();
}
catch (IOException e) {
//You'll need to add proper error handling here
}
Но в терминале он не печатает всю строку файла. Вид результата в терминале такой:

В этом случае отображаются только последние четыре данных, а в других случаях — все. Я не могу понять, почему. Может кто-нибудь помочь мне? Заранее спасибо за помощь.
@RajatMehra Это не работает, возвращайте только четыре элемента
@MirkoMarasco посмотри мой ответ, он сработает для тебя .. :)
Попробуй это:
...
String line;
while ((line = br.readLine()) != null) {
text.append(line);
text.append('\n');
}
Log.d("YOUR_TAG", line);
...
УдалятьSystem.out.println() из цикла while и напишите окончательный текст в Log.d() вне цикла
File sdcard = Environment.getExternalStorageDirectory();
//Get the text file
File file = new File(sdcard, "data.txt");
//Read text from file
StringBuilder text = new StringBuilder();
try {
BufferedReader br = new BufferedReader(new FileReader(file));
String line;
while ((line = br.readLine()) != null) {
text.append(line);
text.append('\n');
}
Log.d("Activity","Final Text----->"+text);
br.close();
} catch (IOException e) {
e.printStackTrace();
//You'll need to add proper error handling here
}
@Mirko рад помочь вам .. если ответ был полезен .. проголосуйте за ответ .. :)
печатать текст за пределами цикла while, возможно, это проблема с вашим логарифмом.