2015-11-05 24 views
-1

在一個按鈕被按下的活動中我想在存儲上創建一個文件。所以我寫了 下面的代碼來這樣做。正在寫入文件的數據沒有出現

但最後創建的文件卻是空的。爲什麼?

代碼

public void tx(byte[] data) { 
    Log.w(TAG, CSubTag.bullet("tx")); 

    File file = new File(Environment.getExternalStorageDirectory() + File.separator + "test.txt"); 
    try { 
     file.createNewFile(); 
    } catch (IOException e) { 
     e.printStackTrace(); 
    } 
    try { 
     OutputStream os = new FileOutputStream(file); 
     BufferedOutputStream bos = new BufferedOutputStream(os); 
     try { 
      bos.write("data_stream".getBytes()); 
     } catch (IOException e) { 
      e.printStackTrace(); 
     } 
    } catch (FileNotFoundException e) { 
     e.printStackTrace(); 
    } 
} 
+0

'file.createNewFile();'。刪除。完整的try-catch塊。它沒有任何服務。 – greenapps

回答

1

請關閉的OutputStream和的BufferedOutputStream內finally塊。否則,數據將不會寫入。