gpt4 book ai didi

c# - 从文件中读取字节

转载 作者:行者123 更新时间:2023-11-30 19:43:58 25 4
gpt4 key购买 nike

我正在尝试编写 huffman 解压缩,我有一个函数试图逐字节读取整个压缩文件,但我有一个问题,它只读取大约 150 个第一个字节,其余的被跳过,我不明白为什么。

函数如下:

public static StringBuilder odczytBajtowy(string nazwa)
{
FileStream plik = null;
StringBuilder dane = new StringBuilder("");
try
{
plik = new FileStream(@nazwa, FileMode.Open, FileAccess.Read);

int w;
int n = 0;
do
{
n++;
w = plik.ReadByte();

if (w != -1)
dane.Append(StringHelp.Reverse(Convert.ToString((byte)w,2).PadLeft(8, '0')));
}
while ((w > 0));
}
catch (FileNotFoundException)
{
Console.WriteLine("Brak pliku {0}", nazwa);
}
finally
{
if (plik != null)
{
plik.Close();
}
}

return dane;
}

看起来函数在文件真正结束之前就读取了 EOF。我知道字节之间没有 EOF,因为我只在那里写字节值。

最佳答案

您的 while 条件不正确:它应该读取 while (w != -1),因此您在找到零字节后立即停止循环读取字节,而不是在末尾 -文件外。

关于c# - 从文件中读取字节,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13497243/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com