0

FileConnection から DataOutputStream にデータを書き込もうとしています。

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();

しかし、入力したテキストではなく、エンコーディングに問題があるように、ファイルにゴミが含まれています。
OK、私が見る限り、ファイルの先頭に null と 0xFF 記号が追加されています。
原因は何ですか?

4

1 に答える 1

2

Java ME でファイルを作成するための私の方法を見て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());
        }
    }
}
于 2012-02-22T01:54:39.147 に答える