C# 为什么不读取整个文本文件?

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

在C#中,我希望将.tga图片读入字符串变量。 我使用了许多变体来读取文本文件,但每个解决方案都有一个问题。 文件大小为17Kb 你为什么不读全文

例如,这不起作用:

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)
。停止尝试像读取文本文件一样读取二进制文件。