2013-04-17 114 views
0

我正在使用此代碼寫入文件。在黑莓中讀取/寫入文件

 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」。因此,基本上它的內容不會根據文字改變,我給予。 請告訴我如何解決這個問題。

回答

3

在文件中寫入並不會刪除內容,但它只是替換內容,所以在'班加羅爾'上寫'印度'將替換'印度'中的'印度',其餘的將保持不變。如果您想要使用較新的數據完全刪除舊內容,則需要從新數據結束位置的文件中獲得truncate()truncate(text.getBytes().length)

+0

謝謝,它的工作! – user2218773