Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

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

Войти
Регистрация
Восстановить пароль
 
javavirys
11 / 11 / 2
Регистрация: 07.11.2013
Сообщений: 147
Завершенные тесты: 1
#1

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

29.08.2015, 21:44. Просмотров 435. Ответов 5
Метки нет (Все метки)

Помогите с чтением файла с системной директории:
/dev/input/event0
Пробовал по всякому так:
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
try{
     Process process = Runtime.getRuntime().exec("su");
}catch(Exception ex)
{
     System.out.println("ERROR: "+ex.toString());
     Toast.makeText(this, "ERROR: "+ex.toString(), Toast.LENGTH_SHORT).show();
     return;
}
File file=new File("/dev/input/event0");
if(!file.exists())
{
     Toast.makeText(this, "Error file !exists", Toast.LENGTH_SHORT).show();
     return;
}
Toast.makeText(this, "file exists", Toast.LENGTH_SHORT).show();
InputStream in = null;
try {
      in = new BufferedInputStream(new FileInputStream(file));
      }catch(FileNotFoundException ex){
           /*
              [B]Ловлю это исключение[/B]
           */
    System.out.println("Error: "+ex.toString());
    Toast.makeText(this, "FileNotFoundError: "+ex.toString(), Toast.LENGTH_SHORT).show();
      }finally{
    if (in != null){
        try {
            in.close();
        } catch (IOException e) {
            e.printStackTrace();
            Toast.makeText(this, "IOError: "+e.toString(), Toast.LENGTH_SHORT).show();
        }
    }
}
и так:
Java
1
2
System.exec("su","-c","chmod","0655","/dev/input/event0");
in = new BufferedInputStream(new FileInputStream("/dev/input/event0"));
получаю исключительную ситуацию FileNotFoundException, хотя файл есть и рут тоже, в чем проблема подскажите пожалуйста?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
29.08.2015, 21:44
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Чтение файла с системной директории (Программирование Android):

Выбор директории для сохранения файла - Программирование Android
Привет. Есть ли универсальный способ показать диалог выбора директории для сохранения файла? Пользователь должен сам выбрать каталог...

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

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

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

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

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

5
javavirys
11 / 11 / 2
Регистрация: 07.11.2013
Сообщений: 147
Завершенные тесты: 1
31.08.2015, 20:02  [ТС] #2
Ей, что никто не знает?
0
b0nny
4 / 2 / 0
Регистрация: 11.11.2013
Сообщений: 347
13.09.2016, 21:32 #3
javavirys, ты как-то исправил это? У меня тоже права не даются.
0
REALIST07
Автор FAQ
Автор FAQ
176 / 176 / 13
Регистрация: 11.06.2010
Сообщений: 934
13.09.2016, 21:37 #4
javavirys, помню что я копировал нужный файл на карту и уже там смотрел, попробуй так
0
javavirys
11 / 11 / 2
Регистрация: 07.11.2013
Сообщений: 147
Завершенные тесты: 1
14.09.2016, 01:23  [ТС] #5
b0nny,
Тогда я не знал, что там так как и в линуксе:
Кликните здесь для просмотра всего текста
Java
1
2
3
4
5
6
7
Process getevent = Runtime.getRuntime().exec("su"); // Получаем рут
DataOutputStream dos = new DataOutputStream(getevent.getOutputStream()); // будем передавать программе su команды
dos.writeBytes("getevent -l"); // Ваша команда
dos.flush();
dos.close(); // все писать закончили
 
// дальше считывай ход выполнения с помощью getevent.getInputStream()
0
b0nny
4 / 2 / 0
Регистрация: 11.11.2013
Сообщений: 347
14.09.2016, 10:28 #6
javavirys, с этим я знаком. Просто inputstream работает не как надо.

Он блоками инфу выдает. По 4096 байт.
А если в get event инфы больше чем на 4096 байт, то он выведет 4096, а остальное на другую порцию блока сбережет и выведет этот другой блок, тоже когда там данных на 4096 байт соберется.
А когда меньше 4096 байт, то вообще ничего не дает. Вот это по мне самое главное сейчас решить.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
14.09.2016, 10:28
Привет! Вот еще темы с ответами:

Чтение из файла в строку - Программирование Android
выручайте! нужно считать текст из i-ого файла, который лежит в папке assets, и отобразить его в textView. можете объяснить, в чем ошибка? ...

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

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

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


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

Или воспользуйтесь поиском по форуму:
6
Yandex
Объявления
14.09.2016, 10:28
Ответ Создать тему
Опции темы

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