我想讀取已經旋轉到bz2文件的日誌文件的內容。我如何在儘可能少使用內存的情況下做到這一點?從bz2文件讀取日誌文件在objective-c
1
A
回答
1
我想通了使用這些腳本: http://www.cocoadev.com/index.pl?BzipValueTransformer & http://www.cocoadev.com/index.pl?NSDataPlusBzip
你需要做的是包括libbz2.a
我在/opt/local/lib/libbz2.a
中找到,因爲我使用macports安裝了bzip2
。我draged文件到我的項目和寫的代碼:
- (void)bunzip
{
NSString *path = @"/var/log/kernel.log.1.bz2";
NSData *data = [NSData dataWithContentsOfFile:path];
NSString *dataString = [[Bzip2ValueTransformer alloc] transformedValue:data];
NSLog(@"Data: %@", dataString);
}
結果:
Dec 16 23:26:58 Paul-Peelens-MacBook-Pro kernel[0]: wlEvent: en1 en1 Link UP
Dec 16 23:26:58 Paul-Peelens-MacBook-Pro kernel[0]: AirPort: Link Up on en1
Dec 16 23:26:58 Paul-Peelens-MacBook-Pro kernel[0]: en1: BSSID changed to 32:7b:98:82:9d:7f
Dec 16 23:30:10 paul-peelens-macbook-pro newsyslog[13862]: logfile turned over due to size>1000K
0
我會使用NSTask或my own PRHTask打開一個bunzip2進程,其標準輸入連接到bzip2文件,並將其標準輸出設置爲管道。使用NSFileHandle的異步讀取或GCD的dispatch_source
的數據來自在後臺從這個管道讀取
相關問題
- 1. 在ObjectiveC中讀取.doc(MSWord)文件?
- 2. php讀取大文本文件日誌
- 3. 在java中讀取日誌文件
- 4. 如何讀取日誌從日誌文件,因爲它發生
- 5. 從文件夾中讀取所有日誌文件
- 6. 在日誌解析器中讀取IIS日誌文件
- 7. Q/kdb +按塊讀取日誌文件
- 8. Crashlytics無法讀取日誌文件
- 9. 使用PHP讀取IIS日誌文件
- 10. FastMM4,如何讀取日誌文件?
- 11. 從日誌文件
- 12. 閱讀所附從日誌文件
- 13. 獲取-WinEvent - 讀從保存的事件日誌文件
- 14. 讀取配置文件並創建日誌文件
- 15. 如何使用c讀取.sil(SmartInspect文件)日誌文件#
- 16. 在R中提取bz2文件
- 17. Java Wget Bz2文件
- 18. 如何在C++中讀取這個日誌文本文件
- 19. 在Python中讀取日誌文件並輸出特定文本
- 20. 在日誌文件上的讀寫
- 21. 如何從.jar文件獲取日誌?
- 22. 從Microsoft.Practices.EnterpriseLibrary.Logging獲取app.config日誌文件名
- 23. 從wireshark pcap文件獲取日誌
- 24. 從日誌文件中提取值
- 25. 提取日誌文件
- 26. 我想從日誌文件逐行讀取到一個php文件
- 27. C#如何在不提取文件的情況下從bzip2(.bz2)文件獲取文件/複製文件
- 28. 如何從kafka文件中讀取日誌?
- 29. 從日誌文件中讀取最後一行
- 30. 從日誌文件中讀取一個TB的數據