2016-08-15 4 views
0

Я создал файл xml в корне моего проекта (Player.xml). Я добавил теги использования-разрешения в AndroidManifest.xml. Я чувствую, что я все пробовал и все еще получаю FileNotFoundException. Мой код в методе OnCreate():Android FileInputStream FileNotFound в Eclipse

try { 

    String newFile = "/TTBossUI/Player.xml"; 
     FileInputStream inputStream7; 
     File f = new File(newFile); 
     System.out.println("made it to pos #1"); 
     inputStream7 = new FileInputStream(f); 
     System.out.println("made it to pos #2"); 
     inputStream7.close(); 
     System.out.println("made it to pos #3"); 
    } catch (FileNotFoundException fnfe) { 
     System.out.println("file not found:" + fnfe); 
     return; 
    } catch (IOException e) { 
     // TODO Auto-generated catch block 
     e.printStackTrace(); 
    } 

Я никогда не сделать его мимо «сделал это поз # 1», идет прямо к блоку улова. Я пробовал все возможные строки file/filepath. У меня это отлично работает в приложении java (не-android). Спасибо заранее!

+0

Какая ошибка вы принимаете? Share logcat pls –

+0

Это соответствующая информация от LogCat: сделана она в pos # 1 08-15 13: 08: 26.049: I/System.out (797): файл не найден: java.io.FileNotFoundException:/TTBossUI /Player.xml: open failed: ENOENT (нет такого файла или каталога) –

+0

сделал его pos # 1 08-15 13: 08: 26.049: I/System.out (797): файл не найден: java.io .FileNotFoundException: /TTBossUI/Player.xml: open failed: ENOENT (Нет такого файла или каталога) –

ответ

0

Ну, как указывает журнал, такого файла нет. Вероятно, это связано с тем, что вы используете относительный путь к файлу, а не абсолютный. File f также, вероятно, является нулевым.

Файл ресурсов не должен быть сохранен в корневом каталоге вашего проекта, а сохранен, поскольку Android хочет сохранить ресурсы, то есть в папке res/assets. Для получения дополнительной информации об этом читайте https://stackoverflow.com/a/17446587/2707325.

В зависимости от того, что будет храниться в этом файле Player.xml, вы можете использовать разные способы хранения данных или получения настроек. Я бы предложил базу данных для сохранения данных; и либо аромат градиента, статический класс java, либо общие настройки для сохранения конфигураций.

+0

Я попытался поместить xml-файл в папку res, но это дало мне ошибки на других строках, таких как: textView1 = (TextView) findViewById (R.id.textView1); «R» было подчеркнуто, и ошибка была «R не может быть разрешена переменной». Я собирался использовать XML-файл для сериализации массива. –

+0

Ну, папка res принимает файлы только в определенной структуре, потому что Android не дает вам прямого доступа к ним. Но скорее способы доступа к данным в них. Но если это все, что вы получили от того, что я написал, то похоже, что это будет долгий путь. Главное здесь, и мой главный вопрос: для чего вы собираетесь использовать этот xml-файл? –

+0

У меня есть массив объектов, которые я хочу сериализовать в XML-файл с ObjectOutputStream. –

Смежные вопросы