С Новым годом! Форум программистов, компьютерный форум, киберфорум
Наши страницы

Программирование Android

Войти
Регистрация
Восстановить пароль
 
maksim94
0 / 0 / 0
Регистрация: 11.10.2012
Сообщений: 133
#1

Чтение из файла в строку - Программирование Android

15.04.2015, 02:24. Просмотров 555. Ответов 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
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Чтение из файла в строку (Программирование Android):

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

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

Чтение файла из ndk - Программирование Android
Пытаюсь прочитать файл с assets/myfolder/test.txt FILE * pFile = fopen ("myfolder/test.txt" , "r" ); if (pFile==NULL) { ...

Чтение текстового файла - Программирование Android
Читаю текстовый файл из инета, выдает такое исключение in = new BufferedReader(new InputStreamReader(yc.getInputStream())); ...

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

Чтение данных из файла - Программирование Android
Пытаюсь считать текст из файла, который находится по пути assets\teams\realmadrid.txt , но вываливается ошибка. В чем дело? ...

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

Добавлено через 2 часа 4 минуты
Armagedo, получится копнуть глубже?
0
Armagedo
208 / 208 / 60
Регистрация: 22.08.2014
Сообщений: 644
15.04.2015, 12:30 #4
maksim94, хорошо, но что не так-то?
0
maksim94
0 / 0 / 0
Регистрация: 11.10.2012
Сообщений: 133
15.04.2015, 12:33  [ТС] #5
Armagedo, не пойму, как исправить код, чтобы происходило чтение из файла в переменную string
0
Armagedo
208 / 208 / 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 / 0
Регистрация: 11.10.2012
Сообщений: 133
15.04.2015, 13:13  [ТС] #7
Armagedo, выводится только "total.toString():"
0
Armagedo
208 / 208 / 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 / 0
Регистрация: 11.10.2012
Сообщений: 133
15.04.2015, 13:43  [ТС] #9
Armagedo,Чтение из файла в строку
я задаю:
Java
1
inputStream = assetManager.open("3_ru.txt");
но ничего не меняется
0
maksim94
0 / 0 / 0
Регистрация: 11.10.2012
Сообщений: 133
15.04.2015, 13:54  [ТС] #10
Armagedo,
Цитата Сообщение от Armagedo Посмотреть сообщение
line = total.toString();
в этом месте пишет, что line не используется
0
Armagedo
208 / 208 / 60
Регистрация: 22.08.2014
Сообщений: 644
15.04.2015, 14:08 #11
Лучший ответ Сообщение было отмечено автором темы, экспертом или модератором как ответ
Ну, глянь чё там вообще в 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 / 0
Регистрация: 11.10.2012
Сообщений: 133
15.04.2015, 14:46  [ТС] #12
Armagedo, выдает: "File 1_ru does NOT exist", но они все-таки есть в этой папке

Добавлено через 17 минут
Armagedo, аее! проблема была в неправильно созданной папке) исправил) не подскажете, как изменить кодировку отображаемого текста, если сами файлы unicode?
0
Armagedo
208 / 208 / 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
Привет! Вот еще темы с ответами:

Чтение текстового файла в AsyncTask - Программирование Android
Читаю достаю из текстового файла данные StringBuffer sb = new StringBuffer(); BufferedReader br = null; try { br =...

Чтение и запись JSON файла - Программирование Android
Как прочитать и записать, точнее дописать в файл JSON данные? Файл лежит в assets (например, ex.json)

Чтение файла с системной директории - Программирование Android
Помогите с чтением файла с системной директории: /dev/input/event0 Пробовал по всякому так: try{ Process process =...

Чтение и запись xml файла на SD-карту - Программирование Android
Мне нужно из БД сохранять определенную информацию в файл (это будет инфа пользователя), а потом загружать при необходимости. И таких файлов...


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

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

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