2011-11-03 29 views
0

我想在我的應用程序中包含靜態日誌文件。每當用戶啓動應用程序時,具有額外信息的時間將被附加到該文件。一開始,我還以爲存儲文件到資產的文件夾或原始文件夾將是解決辦法,但後來我看着android documentations它指出:如何將靜態日誌文件包含到Android應用程序中,該程序在關閉應用程序時不會被刪除?

提示:如果您想保存應用程序中的靜態文件在編譯 時間,將文件保存在你的項目res/raw /目錄下。你可以用openRawResource()打開 它,傳遞R.raw。資源ID。 此方法返回你可以用它來讀取文件 一個InputStream(但不能寫入原始文件)。

我怎樣才能解決這個問題?

編輯:

我想不是要在關閉應用程序刪除日誌文件。

回答

0

這裏是解決方案:

private void writeLog(String s) 
{ 
    String FILENAME = "log.txt"; 
    FileOutputStream fos = null; 
    try 
    { 
     fos = openFileOutput(FILENAME, Context.MODE_APPEND); 
     fos.write(s.getBytes()); 
    } 
    catch(FileNotFoundException e){} 
    catch(IOException e){} 
    finally 
    { 
     try 
     { 
      fos.close(); 
     } 
     catch(IOException e){} 
    } 
} 
private void readLog(EditText logs) 
{ 
    String FILENAME = "log.txt"; 
    FileInputStream in = null; 
    try 
    { 
     in = openFileInput(FILENAME); 
    } 
    catch(IOException e1){} 
    try 
    { 
     byte[] buffer = new byte[4096]; // Read 4K characters at a time. 
     int len; 
     logs.setText(""); 
     while((len = in.read(buffer)) != -1) 
     { 
      String s = new String(buffer, 0, len); 
      logs.append(s); 
     } 
    } 
    catch(IOException e){} 
    finally 
    { 
     try 
     { 
      if(in != null) in.close(); 
     } 
     catch(IOException e){} 
    } 
} 
0

嗯,我沒有看到問題,您的用戶將打開應用程序,它將是運行時,你可以寫任何你想要的文件。所以這個提示並不適用於你。

+0

但是,當用戶關閉應用程序,並再次運行,日誌文件將是空的。 –

+0

嘗試將其保存在SD卡上 – Moss

1

而不是將日誌文件包含在應用程序中,您應該首次啓動時創建它。

有關於創建文件的詳細信息How to create a file in Android?

+0

我知道如何創建文件,但我應該在哪裏存儲它? –

相關問題