黑莓中的读/写文件

时间:2013-04-17 06:35:44

标签: java file blackberry

我正在使用此代码写入文件。

        protected void writeFile(String text) {
            DataOutputStream os = null;
            FileConnection fconn = null;
                try {
                    fconn = (FileConnection) Connector.open("file:///store/home/user/documents/file.txt", 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());
                    }
            }}

代码工作正常。

我的问题是如果我第一次写作" Banglore"当我读到它时,我得到了" Banglore"。 但是,第二次我写"印度"当我读到它时,我得到了" Indialore"。 所以,基本上它的内容不会根据文字改变,我给予。 请告诉我如何解决这个问题。

1 个答案:

答案 0 :(得分:3)

在文件中写入并不会删除内容,但它只是替换了内容,因此将“印度”写在“班加罗尔”上会将“Banga”替换为“印度”,其余内容将保持不变。如果您想要使用较新的内容完全删除旧内容,则需要truncate() 较新数据结束的文件。 truncate(text.getBytes().length)