«Ошибка файловой системы (1003)» при открытии файлового подключения BlackBerry - PullRequest
1 голос
/ 01 декабря 2011

Я попробовал пример из «J2ME / Blackberry - как читать / писать текстовые файлы?» . Мне нужна только функция чтения, файл, который я хочу прочитать, находится в формате CSV в виде файла .txt, помещенного в /res/test.txt.

.

Но у меня проблема с FileConnection. Я получаю следующую ошибку:

Ошибка файловой системы (1003)

Любые предложения или советы по лучшему подходу или относительно того, как я могу заставить это работать?

public class FileDemo extends MainScreen {

public FileDemo() {
    setTitle("My Page");
    String str = readTextFile("file:///test.txt");
    System.out.println("Contents of the file::::::: " + str);
}

public String readTextFile(String fName) {
    String result = null;
    FileConnection fconn = null;
    DataInputStream is = null;
    try {
        fconn = (FileConnection) Connector.openInputStream(fName);
        is = fconn.openDataInputStream();
        byte[] data = IOUtilities.streamToBytes(is);
        result = new String(data);
    } catch (IOException e) {
        System.out.println(e.getMessage());
    } finally {
        try {
            if (null != is)
                is.close();
            if (null != fconn)
                fconn.close();
        } catch (IOException e) {
            System.out.println(e.getMessage());
        }
    }
    return result;
}
}

Ответы [ 2 ]

0 голосов
/ 14 мая 2014

С такой же проблемой я столкнулся и в своем проекте.Сначала проверьте, вставлена ​​карта памяти вашего симулятора или нет.В симуляторе

перейдите к Параметры (Настройки) -> Устройство -> Память и проверьте Память на карте памяти.

Если карта памяти не установлена, то будет отображаться Карта памяти в данный момент не вставлена ​​ в устройство.Итак, вам нужно вставить карту памяти.В строке меню симулятора выберите simulate -> Change SD Card ...
Вы можете добавить SD-карту здесь.Чем вы пытаетесь.

Думаю, это предложение кому-нибудь поможет.

0 голосов
/ 01 декабря 2011

попробуйте

InputStream is = getClass().getResourceAsStream("/test.txt");
StringBuffer buff = new StringBuffer();
int ch;
try {
    while ((ch = is.read()) != -1)
    buff.append((char) ch);
} catch (Exception e) {
    Log.Error(e, "Exception ");
}
String str = (buff.toString());
...