Форум программистов, компьютерный форум, киберфорум
Наши страницы
Программирование Android
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.67/3: Рейтинг темы: голосов - 3, средняя оценка - 4.67
maksim94
0 / 0 / 1
Регистрация: 11.10.2012
Сообщений: 133
1

Чтение из файла в строку

15.04.2015, 02:24. Просмотров 624. Ответов 12
Метки нет (Все метки)

выручайте! нужно считать текст из i-ого файла, который лежит в папке assets, и отобразить его в textView. можете объяснить, в чем ошибка?
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
@Override
    protected void onCreate(Bundle savedInstanceState) {
        Intent intent = getIntent();
        five = intent.getIntExtra("numberForFifth", 0);
        four = intent.getIntExtra("numberForFourth", 1);
 
        super.onCreate(savedInstanceState);
        setContentView(R.layout.fourth);
 
        textView = (TextView) findViewById(R.id.text);
        textView.setText(read());
    }
 
String read(){
        AssetManager assetManager = getResources().getAssets();
        InputStream inputStream = null;
        StringBuilder total = new StringBuilder();
 
            try
            {
                inputStream = assetManager.open(i+"_ru.txt");
                String line;
                if (inputStream != null) {
                    BufferedReader r = new BufferedReader(new InputStreamReader(inputStream));
                    //String line;
                    while ((line = r.readLine()) != null) {
                        total.append(line);
                        line = total.toString();
                    }
                }
                //line = total.toString();
            }
 
            catch(IOException e)
            {
                e.printStackTrace();
            }
        return(total.toString());
    }
0
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.04.2015, 02:24
Ответы с готовыми решениями:

Создание файла с массивом и чтение этого файла обратно используя ShareActionProvider
Есть созданный массив, после нажатия на кнопку он должен вносится в файл, а...

Чтение из файла
Всем привет! Не могу никак разобраться как прочитать файл, который идёт в...

Чтение текстового файла
Читаю текстовый файл из инета, выдает такое исключение in = new...

Чтение файла из ndk
Пытаюсь прочитать файл с assets/myfolder/test.txt FILE * pFile = fopen...

Чтение чисел из файла
Всем добрый день! Подскажите пожалуйста, как можно считать матрицу из файла и...

12
Armagedo
210 / 210 / 60
Регистрация: 22.08.2014
Сообщений: 644
15.04.2015, 07:09 2
Не роя глубже, i инициализирована где-то?
0
maksim94
0 / 0 / 1
Регистрация: 11.10.2012
Сообщений: 133
15.04.2015, 12:20  [ТС] 3
Armagedo, вместо i должно быть four

Добавлено через 2 часа 4 минуты
Armagedo, получится копнуть глубже?
0
Armagedo
210 / 210 / 60
Регистрация: 22.08.2014
Сообщений: 644
15.04.2015, 12:30 4
maksim94, хорошо, но что не так-то?
0
maksim94
0 / 0 / 1
Регистрация: 11.10.2012
Сообщений: 133
15.04.2015, 12:33  [ТС] 5
Armagedo, не пойму, как исправить код, чтобы происходило чтение из файла в переменную string
0
Armagedo
210 / 210 / 60
Регистрация: 22.08.2014
Сообщений: 644
15.04.2015, 12:41 6
maksim94, а чё ты думаешь, что оно не происходит?
Накидай маяков по коду, чтобы видеть где непорядок...

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
@Override
    protected void onCreate(Bundle savedInstanceState) {
        Intent intent = getIntent();
        five = intent.getIntExtra("numberForFifth", 0);
        four = intent.getIntExtra("numberForFourth", 1);
 
        super.onCreate(savedInstanceState);
        setContentView(R.layout.fourth);
 
        textView = (TextView) findViewById(R.id.text);
        textView.setText(read());
    }
 
String read(){
        AssetManager assetManager = getResources().getAssets();
        InputStream inputStream = null;
        StringBuilder total = new StringBuilder();
 
            try
            {
                inputStream = assetManager.open(i+"_ru.txt");
                String line;
                if (inputStream != null) {
                    Toast.makeText(getBaseContext(), "inputStream != null: "+String.valueOf(inputStream != null), Toast.LENGTH_LONG).show();
                    BufferedReader r = new BufferedReader(new InputStreamReader(inputStream));
                    //String line;
                    while ((line = r.readLine()) != null) {
                        total.append(line);
                        line = total.toString();
                    }
                }
                //line = total.toString();
            }
 
            catch(IOException e)
            {
                e.printStackTrace();
            }
         Toast.makeText(getBaseContext(), "total.toString(): "+total.toString(), Toast.LENGTH_LONG).show();
        return(total.toString());
    }
0
maksim94
0 / 0 / 1
Регистрация: 11.10.2012
Сообщений: 133
15.04.2015, 13:13  [ТС] 7
Armagedo, выводится только "total.toString():"
0
Armagedo
210 / 210 / 60
Регистрация: 22.08.2014
Сообщений: 644
15.04.2015, 13:32 8
Цитата Сообщение от maksim94 Посмотреть сообщение
Armagedo, выводится только "total.toString():"
Ну, отлично.
Значит, inputStream - null, т.е. assetManager.open(i+"_ru.txt") ничё хорошего не вернул.

Java
1
2
String fileName = String.valueOf(four)+"_ru.txt";
inputStream = assetManager.open(fileName);
Ещё бы структуру самой паки assets видеть
0
maksim94
0 / 0 / 1
Регистрация: 11.10.2012
Сообщений: 133
15.04.2015, 13:43  [ТС] 9
Armagedo,
Чтение из файла в строку

я задаю:
Java
1
inputStream = assetManager.open("3_ru.txt");
но ничего не меняется
0
maksim94
0 / 0 / 1
Регистрация: 11.10.2012
Сообщений: 133
15.04.2015, 13:54  [ТС] 10
Armagedo,
Цитата Сообщение от Armagedo Посмотреть сообщение
line = total.toString();
в этом месте пишет, что line не используется
0
Armagedo
210 / 210 / 60
Регистрация: 22.08.2014
Сообщений: 644
15.04.2015, 14:08 11
Лучший ответ Сообщение было отмечено maksim94 как решение

Решение

Ну, глянь чё там вообще в assets
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
 try
            {
                String fileName = String.valueOf(four)+"_ru.txt";
                 
               String[] assetsFileList = assetManager.list("");
                
                boolean fileExist = false;
                
                for(int i=0; i<assetsFileList.length;i++){
                      if (assetsFileList[i].equals(fileName)){
                         fileExist = true;
                         break;
                      }
                }
                
                if (fileExist) 
                     Toast.makeText(getBaseContext(), "File "+fileName+" exists", Toast.LENGTH_LONG).show();
                else 
                     Toast.makeText(getBaseContext(), "File "+fileName+" does NOT exist", Toast.LENGTH_LONG).show();
 
                String fileName = String.valueOf(four)+"_ru.txt";
                inputStream = assetManager.open(fileName); 
                ...
1
maksim94
0 / 0 / 1
Регистрация: 11.10.2012
Сообщений: 133
15.04.2015, 14:46  [ТС] 12
Armagedo, выдает: "File 1_ru does NOT exist", но они все-таки есть в этой папке

Добавлено через 17 минут
Armagedo, аее! проблема была в неправильно созданной папке) исправил) не подскажете, как изменить кодировку отображаемого текста, если сами файлы unicode?
0
Armagedo
210 / 210 / 60
Регистрация: 22.08.2014
Сообщений: 644
15.04.2015, 14:57 13
Цитата Сообщение от maksim94 Посмотреть сообщение
не подскажете, как изменить кодировку отображаемого текста, если сами файлы unicode?
https://groups.google.com/d/msg/andr...Y/Km2gqRyF0SAJ
1
15.04.2015, 14:57
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
15.04.2015, 14:57

Чтение txt файла
Добрый день! возможно ли читать txt файл в андроиде?

Чтение данных из файла
Пытаюсь считать текст из файла, который находится по пути...

Чтение файла из облака
Нужно что бы приложение могло прочитать текстовый файл (*.txt) из облака и...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
13
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru