安卓中如何壓縮日誌檔案以及檔案如何快速生成

2021-09-26 20:37:39 字數 1055 閱讀 3943

最近的安卓專案要添個日誌,添上日誌後又要將日誌檔案定期壓縮上傳,保證安卓裝置中不會因日誌檔案過多導致記憶體不夠(pos機器之類的記憶體不大)而導致程式執行出問題,於是要定期壓縮日誌檔案上傳後台,**及注釋如下:

//讀取安卓機器外部儲存路徑下的日誌檔案,隔天去壓縮前一天的日誌檔案,原日誌檔名形同「2019-02-03log」

public static void readfolder()}}

}

//建立zip檔案

public static void zipfile(string filepath, string zipfilepath) catch (exception e)

}

//壓縮檔案到zip檔案中

private static void zipfiles(string filepath, string filename, zipoutputstream zipoutputsteam) throws exception

zipoutputsteam.closeentry();

}}

因為規定一次壓縮檔案上傳的大小不能太大,只能2m左右,於是我又去測試了一天的交易量產生的日誌最多200多m,於是我試著生成乙個300m的txt日誌檔案,測試壓縮後的檔案大小,壓縮結果為2m左右,結果就符合了要求,這裡提一下如何生成300m的檔案:

一種是windows自帶的可以生成乙個空檔案的但是大小是可以指定的方法,但是這種方法產生的檔案壓縮並不等同與實在的檔案壓縮的大小,所以後面拋棄了這種方法;---win+r,輸入」fsutil file creatnew test.txt 1024」產生1m檔案,同理得想要大小檔案。

第二種是採用的是.bat命令生成的,這種方法可以將乙個檔案迴圈寫入另乙個檔案中,命令如下,0.txt是先自己生成的基礎檔案,可以輸入一些資料保證一定大小,1.txt是要生成的目標檔案,50是迴圈次數,這段**輸入在另乙個檔案中最後儲存成.bat的形式執行就可以了。

@echo off      

for /l %%n in (0,1,50) do (   

type 0.txt >> 1.txt       

安卓快取檔案

首先我們要弄清楚幾個概念 getcachedir data data getfilesdir data data 一般來說,上面這兩個目錄是使用者不可見的,屬於應用內部,比如webview等一些快取就存放於getcachedir 我是分割線 getexternalfilesdir sdcard an...

安卓檔案讀寫

獲取各種路徑 內部儲存 外部儲存 例子 內部儲存 1.獲取快取路徑 主要時context物件。handler是做其他留下來的很本例程無關 public tcpview handler handler,context context 2.儲存 private file getfilefrombytes...

安卓開發中R檔案異常

在安卓開發的過程中,r檔案的異常總是各種各樣,我只來說說我遇到的幾個r檔案異常。1.xml檔案有錯誤 有可能是fragment關聯的xml有異常,也有可能是activity main函式的xml檔案異常了,會導致r檔案不生成,這個時候,build source r debug資料夾下面會什麼都沒有,...