簡體   English   中英

查找DeflateStream的編碼類型

[英]Find Encoding type of DeflateStream

我有一個zip文件,其中包含一個csv文件。 我正在使用以下代碼讀取文件:

    using (ZipArchive zipArchive = ZipFile.OpenRead(filePath))
    {
    var zipArchiveEntry = zipArchive.GetEntry("File.csv");
    var zipEntry = zipArchiveEntry.Open();
...
    }

zipEntry的類型為System.IO.Compreesion.Deflatestream。

我嘗試使用StreamReader.CurrentEncoding,但是它給出了錯誤的編碼值。

我現在正在使用解決方案,

this.GetFileEncoding(zipEntry)

但在fileStrem.Length處獲取NotSupportedException。

如何找到zipEntry(File.csv)的正確編碼?

只要可以確保該文件實際上是cvs文件,然后在打開時使用流讀取器從條目的流中獲取內容即可

using (ZipArchive archive = ZipFile.OpenRead(filePath)) {
    var entry = archive.GetEntry("File.csv");
    if (entry != null) {
        using (var reader = new StreamReader(entry.Open())) {
            var csv = reader.ReadToEnd();
        }
    }    
} 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM