C# 为什么不读取整个文本文件?
在C#中,我希望将.tga图片读入字符串变量。 我使用了许多变体来读取文本文件,但每个解决方案都有一个问题。 文件大小为17Kb 你为什么不读全文 例如,这不起作用:C# 为什么不读取整个文本文件?,c#,image,file,tga,C#,Image,File,Tga,在C#中,我希望将.tga图片读入字符串变量。 我使用了许多变体来读取文本文件,但每个解决方案都有一个问题。 文件大小为17Kb 你为什么不读全文 例如,这不起作用: string item = ""; while ((item = sr.ReadLine()) != null) { picture_string += sr.ReadLine()+""; } picture_string = sr.ReadToEnd(); 它不起作用: st
string item = "";
while ((item = sr.ReadLine()) != null)
{
picture_string += sr.ReadLine()+"";
}
picture_string = sr.ReadToEnd();
它不起作用:
string item = "";
while ((item = sr.ReadLine()) != null)
{
picture_string += sr.ReadLine()+"";
}
picture_string = sr.ReadToEnd();
它不起作用
picture_string = File.ReadAllText(path);
您试图读取的文件是二进制文件,而不是文本文件。停止尝试像读取文本文件一样读取二进制文件
var fileContents = File.ReadAllBytes(path);
不管用也没用。您是否收到任何异常或错误消息?你也调试了你的代码吗?什么是
sr
?什么是路径?您的问题到底是什么?在你的问题中,为什么要混合阅读文本文件和阅读图片文件?一个“.tga”文件不是一个文本文件。您不能将其作为文本文件读取。您正在读取二进制文件,就像它是文本文件一样。通过调用ReadLine
在二进制文件中还没有行,不仅可以省略具有与换行符相等的值的字节,还可以将它们转换为不相关的字符表示形式。请尝试File.ReadAllBytes(path)
。停止尝试像读取文本文件一样读取二进制文件。