FileReader не найден в Java ME - PullRequest
1 голос
/ 25 мая 2010

Класс java.io.FileReader не найден в Java ME.

Мне это нужно, чтобы получить файл и затем проанализировать его с помощью xml-анализатора.

Кто-нибудь знает какие-либо альтернативы для этого класса?

* добавлено используя профиль CLDC. XML-файл для чтения находится в JAR.

Ответы [ 3 ]

1 голос
/ 25 мая 2010

Какой профиль Java ME вы используете? CLDC вообще не поддерживает концепцию файлов.

В общем, FileReader - это не что иное, как вспомогательный класс, охватывающий InputStreamReader вокруг FileInputStream. Это также очень сломано, потому что это не позволяет определять кодировку, и поэтому должно почти никогда не использоваться.

Было бы особенно неправильно использовать его для чтения XML, потому что надлежащие данные XML определяют его кодировку, и правильный синтаксический анализатор XML будет обрабатывать это, поэтому вам действительно следует передавать двоичные данные в анализатор XML.

Так что, если вы находитесь в профиле CDC, просто используйте FileInputStream напрямую.

1 голос
/ 25 мая 2010

вопрос немного двусмысленный. Я думаю, что ответ Иоахима может быть только частичным, если вы пытаетесь прочитать локальный файл. Я конечно не уверен, хотя.

Если файл хранится в качестве ресурса в вашем JAR-файле, вы можете получить к нему доступ через метод getResourceAsStream в Class.

Если файл является локальным файлом в файловой системе и, если я правильно помню, вам нужна поддержка JSR-75. На странице разработчика Sun есть введение в JSR 75 и соединение с файлом API.

1 голос
/ 25 мая 2010

Это потому, что Java ME предоставляет только ограниченное подмножество java.io пакета . Вам нужно использовать пакет java.microedition.io вместо .

Для реального файлового ввода-вывода вам необходимо использовать FileConnection класс , предоставленный JSR-75.

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