2017-02-17 20 views
0

Я пытаюсь использовать файлы cat в Android sysfs, и сначала я хочу проверить, существуют ли файлы, и доступны ли они. Я пытаюсь первый шаг со следующим кодом Java:Проверка, могу ли я получить доступ к файлу в файловой системе файловой системы Android

String filePath = "/sys/some/path/to/some/file"; 
try { 
    File file = getApplicationContext().getFileStreamPath(filePath); 
    if (file.exists()) { 
    // do something 
    } else { 
    // do something else 
    } 
} catch (IOException e) { 
     e.printStackTrace(); 
} 

Во время выполнения я получаю java.lang.IllegalArgumentException: Файл/SYS/некоторые/путь/к/некоторые/файл содержит разделитель пути

Что я делаю неправильно, и как проверить, читается ли файл в sysfs?

+0

Выполните эту нить [java.lang.IllegalArgumentException: содержит разделитель пути] (http://stackoverflow.com/questions/5963535/java-lang-illegalargumentexception-contains-a-path-separator) –

+0

ОК, этот поток предлагает использовать FileInputStream вместо объекта File. Как я могу проверить доступ для чтения к объекту FileInputStream? – user1118764

ответ

0

Я закончил с использованием предложений Вивека, чтобы использовать FileInputStream, а затем проверка на предмет исключений

0

Попробуйте этот код -

String fileDirectory = "/sys/some/path/to/some/"; 
    String fileName = "file"; 
     try 
     { 
      File file = new File(fileDirectory, fileName); 

      if (file.Exists()) {      
       // do something 
      } 
      else 
      { 
       // do something else 
      } 
     } 
     catch (IOException e) 
     { 

     }