我尝试使用返回字符串的StreamReader类' ReadToEnd()方法读取JPG文件.
出于某种原因,当我将此字符串写入文件时,它不会打开.
将数据读入字符串时会丢失什么?
Jon*_*eet 26
字符串用于文本数据.它们不是二进制数据 - 如果你以这种方式使用它们就会丢失数据(如果幸运的话,你可以使用哪些编码不会丢失数据,但有一些微妙的问题仍然会让它成为一个非常糟糕的主意.)
如果您实际处理的是文件,那么阅读整个文件的最简单方法是调用File.ReadAllBytes.如果必须处理任意流,请查看"从流中创建字节数组".
字符串是为保存 unicode 字符而设计的;不是二进制。对于二进制文件,请使用 abyte[]或Stream。或者Image更专业的图像处理等。
尽管名称如此,但StreamReader实际上是一个专门的TextReader- 即它是TextReader从Stream. 图片不是文字,所以这不是正确的选择。
正如所有真正的程序员都知道的那样,唯一有用的数据结构是Array.字符串,列表,结构,集合 - 这些都是数组的特殊情况,可以这样轻松地处理,而不会弄乱您的编程语言中的各种复杂情况.花哨的数据类型最糟糕的是你必须声明它们,而且我们都知道,Real Programming Languages根据(六个字符)变量名的第一个字母进行隐式类型化.
此外,确定的Real Programmer可以用任何语言编写Fortran程序.
无论是谁修改了这个,都要么没有幽默感,要么没有民间传说知识.以上内容摘自1983年由泰克的Ed Post撰写的一篇非常着名的致Datamation编辑的信.这封信的标题是Real Programmers Do not Use Pascal.