2
想知道是否有人在這裏有一些gzip格式的經驗。我有一個非常大的gzip文件,我需要解析。但是,我可能只需要一小部分解壓縮的文本文件。是否可以在不解壓整個文件的情況下流式處理這個zip文件?gzip格式流式傳輸
任何使用gzip的經驗?
想知道是否有人在這裏有一些gzip格式的經驗。我有一個非常大的gzip文件,我需要解析。但是,我可能只需要一小部分解壓縮的文本文件。是否可以在不解壓整個文件的情況下流式處理這個zip文件?gzip格式流式傳輸
任何使用gzip的經驗?
你知道你可以流使用標準的java庫類吧?這是相當瑣碎的,是這樣的:
GZIPInputStream stream = new GZIPInputStream(new FileInputStream("some_file.gz"));
BufferedReader reader = new BufferedReader(stream);
// Now read line by line... till you hit the content you want.
整個文件不會解壓縮在磁盤上,只是豆腐塊,你需要它在內存中。你可以選擇使用相應的輸出流再次壓縮和寫回。
沒有意識到這是多麼容易! – 2012-02-01 21:20:11
這取決於。 Arte的內容全部是單獨的文件,還是您需要從中獲取部分的大文件?我認爲大多數gzip庫(如lzma)在流式傳輸單個文件方面沒有問題。 – Bartvbl 2012-02-01 20:12:54
如果不解壓縮整個文件,您將如何確定需要的內容?或者你只需要從頭開始的一部分? – jtahlborn 2012-02-01 20:32:15
@Bartvbl - 不知道我理解你的評論。 _gzip_格式本質上是一種單一的流格式(這就是爲什麼它通常與tar,它可以結合多個文件)。 – jtahlborn 2012-02-01 20:33:29