的單個字節怎麼辦。我讀我試圖確定文件是否已被壓縮與gzip的協議文件
的共識似乎是,我需要閱讀文件的前兩個字節,並檢查它們等於0x1f8b
。我剛剛瞭解到,這個被稱爲一個神奇的數字。
如何,最好使用的.Net/C#,因爲這是我習慣了,讀取文件的單個字節?
三江源
的單個字節怎麼辦。我讀我試圖確定文件是否已被壓縮與gzip的協議文件
的共識似乎是,我需要閱讀文件的前兩個字節,並檢查它們等於0x1f8b
。我剛剛瞭解到,這個被稱爲一個神奇的數字。
如何,最好使用的.Net/C#,因爲這是我習慣了,讀取文件的單個字節?
三江源
你可以試試這個...
您可能需要使用不同的變量類型V或你可以轉換INT ...
using (BinaryReader b = new BinaryReader(File.Open("file.bin", FileMode.Open)))
{
int v = b.ReadByte();
Console.WriteLine(v);
}
一般在普通的x86,char是一個字節長的數據類型,所以讀取該文件將做的頭兩個字符。
讀取文件的兩個(第一)字節的最簡單的方法是打開一個FileStream,然後閱讀只是兩個字節:
FileStream fs = new FileStream("D:\\path_to_file\file.ext", FileMode.Open);
int value = fs.ReadByte();
...
當然,如果文件存在,您應該檢查,捕獲異常如果應用程序沒有足夠的權限讀取文件,請在完成後關閉流(訪問文件)...
使用FileStream的Read
方法可能會更方便(它允許您一次讀取多個字節)。請注意,也有可用此方法的異步等效。