fileinputstream выбрасывает файл notfoundexception? - PullRequest
1 голос
/ 02 февраля 2011

Я пытаюсь открыть XML-файл, чтобы разобрать его, но меня перестают пытаться открыть файл.Мой код:

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

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

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

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

Ответы [ 3 ]

2 голосов
/ 02 февраля 2011

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

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

1 голос
/ 02 февраля 2011

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

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

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

0 голосов
/ 02 февраля 2011

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...