J2ME DataOutputStream из кодировки FileConnection - PullRequest
0 голосов
/ 22 февраля 2012

Я пытаюсь записать некоторые данные в DataOutputStream из FileConnection.

FileConnection con = (FileConnection)Connector.open("file:///C:/file.txt");
   if (!con.exists())
con.create();
DataOutputStream out = con.openDataOutputStream();
out.writeUTF("some text");
out.close();
con.close();

Но вместо того, чтобы набрать текст, я получаю некоторый мусор в файле - как будто есть некоторые проблемы с кодированием.
Хорошо, насколько я вижу, в начале файла добавляется ноль и знак 0xFF.
В чем может быть причина?

1 Ответ

2 голосов
/ 22 февраля 2012

Пожалуйста, посмотрите на мой метод написания файлов на Java. Я думаю, вам не хватает Connector.READ_WRITE в вашем коде,

private void writeTextFile(String fileName, String text) 
{
    DataOutputStream os = null;
    FileConnection fconn = null;
    try 
    {
        fconn = (FileConnection) Connector.open(fileName, Connector.READ_WRITE);
        if (!fconn.exists())
            fconn.create();
        os = fconn.openDataOutputStream();
        os.write(text.getBytes());
    } catch (IOException e) {
        System.out.println(e.getMessage());
    } finally 
    {
        try 
        {
            if (null != os)
                os.close();
            if (null != fconn)
                fconn.close();
        } catch (IOException e) 
        {
            System.out.println(e.getMessage());
        }
    }
}
...