2011-02-01 3 views
1

Я пытаюсь открыть XML-файл для его анализа, но я перестаю пытаться открыть файл. Мой код:fileinputstream throwing filenotfoundexception?

 try { 
      return new FileInputStream(location); 
     } catch (FileNotFoundException e) { 
      // TODO Auto-generated catch block 
      e.printStackTrace(); 
      return null; 
     } 

где местоположение - это строка, переданная в функцию. После запуска мой код, я получаю:

java.io.FileNotFoundException: /C:/Users/Seth/AndroidWorkspace/UCoupon/res/xml/information.xml (Нет такого файла или каталога)

Я дал полный путь к файлу, и я ничего не делал. Что я делаю не так?

ответ

2

вы не можете читать файлы на своем компьютере с вашего устройства или эмулятора.

см here для введения в хранилище данных и here для доступа к ресурсам (то есть, вероятно, что вы заинтересованы в, как вы пытаетесь получить доступ к res/xml/)

0

Вы не можете получить доступ к файлам из вашей основной системы (что, кажется, Windows в вашем случае). Скопируйте файл на карту памяти вашего устройства/эмулятора SD и прочитайте его оттуда - и не забудьте использовать разрешение WRITE_EXTERNAL_STORAGE.

1

Вы пытаетесь загрузить файл с помощью реальный путь на вашем ПК. Эмулятор ничего не знает о вашей файловой системе.

Когда вы положили XML в папку проекта res/xml/ вы можете разобрать его с помощью STANDAR подстановок ресурсов путем:

XmlResourceParser xpp = res.getXml(R.xml.myxml); где myxml это имя файла XML без расширения

+0

я посмотрел в том, что но не мог понять, как он вписывается в код, который у меня есть. Я реализовал собственный XML-парсер, похожий на 8-й пример: http://www.ibm.com/developerworks/opensource/library/x-android/index.html Я пытаюсь написать метод getInputStream(), чтобы я мог используйте строку «Xml.parse (this.getInputStream(), Xml.Encoding.UTF_8, root.getContentHandler()); –

+0

В статье XML-файл загружается из сети. так что это не ваш случай. Метод 'Resource.getXml()' возвращает ссылку на объект 'XmlResourceParser'. В статье рассматривается этот случай в разделе «XML-парсер». 'XmlResourceParser' и' XmlPullParser' использует тот же интерфейс –

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