例子:variable=newStreamReader(file).ReadToEnd();这是可以接受的吗? 最佳答案 不,这不会关闭StreamReader。你需要关闭它。Using会为您执行此操作(并处理它以便更快地进行GC):using(StreamReaderr=newStreamReader("file.txt")){allFileText=r.ReadToEnd();}或者在.Net2中,您可以使用新文件。静态成员,那么你不需要关闭任何东西:variable=File.ReadAllText("file.txt");
例子:variable=newStreamReader(file).ReadToEnd();这是可以接受的吗? 最佳答案 不,这不会关闭StreamReader。你需要关闭它。Using会为您执行此操作(并处理它以便更快地进行GC):using(StreamReaderr=newStreamReader("file.txt")){allFileText=r.ReadToEnd();}或者在.Net2中,您可以使用新文件。静态成员,那么你不需要关闭任何东西:variable=File.ReadAllText("file.txt");
我正在获取结果StreamReader对象。我想把结果转换成byte[]。如何将StreamReader转换为byte[]?谢谢 最佳答案 把你读到的所有东西都扔进一个MemoryStream最后得到字节数组。如前所述,您应该从底层流中读取以获取原始字节。varbytes=default(byte[]);using(varmemstream=newMemoryStream()){varbuffer=newbyte[512];varbytesRead=default(int);while((bytesRead=reader.BaseS
我正在获取结果StreamReader对象。我想把结果转换成byte[]。如何将StreamReader转换为byte[]?谢谢 最佳答案 把你读到的所有东西都扔进一个MemoryStream最后得到字节数组。如前所述,您应该从底层流中读取以获取原始字节。varbytes=default(byte[]);using(varmemstream=newMemoryStream()){varbuffer=newbyte[512];varbytesRead=default(int);while((bytesRead=reader.BaseS
新的VisualStudio2012正在提示我一直使用的常见代码组合。我知道这似乎有点矫枉过正,但我在我的代码中做了以下“只是为了确定”。using(varfs=newFileStream(filePath,FileMode.Open,FileAccess.Read,FileShare.ReadWrite)){using(varsr=newStreamReader(fs)){//Codehere}}VisualStudio正在“警告”我我不止一次处理fs。所以我的问题是,正确的写法是:using(varfs=newFileStream(filePath,FileMode.Open,
新的VisualStudio2012正在提示我一直使用的常见代码组合。我知道这似乎有点矫枉过正,但我在我的代码中做了以下“只是为了确定”。using(varfs=newFileStream(filePath,FileMode.Open,FileAccess.Read,FileShare.ReadWrite)){using(varsr=newStreamReader(fs)){//Codehere}}VisualStudio正在“警告”我我不止一次处理fs。所以我的问题是,正确的写法是:using(varfs=newFileStream(filePath,FileMode.Open,
我正在使用下面的代码读取包含外来字符的文本文件,该文件采用ANSI编码,在记事本中看起来很好。下面的代码不起作用,当读取文件值并将其显示在数据网格中时,字符显示为正方形,其他地方是否还有其他问题?StreamReaderreader=newStreamReader(inputFilePath,System.Text.Encoding.ANSI);using(reader=File.OpenText(inputFilePath))谢谢更新1:我已经尝试了在System.Text.Encoding下找到的所有编码。并且都无法正确显示文件。更新2:我已将文件编码(重新保存文件)更改为unic
我正在使用下面的代码读取包含外来字符的文本文件,该文件采用ANSI编码,在记事本中看起来很好。下面的代码不起作用,当读取文件值并将其显示在数据网格中时,字符显示为正方形,其他地方是否还有其他问题?StreamReaderreader=newStreamReader(inputFilePath,System.Text.Encoding.ANSI);using(reader=File.OpenText(inputFilePath))谢谢更新1:我已经尝试了在System.Text.Encoding下找到的所有编码。并且都无法正确显示文件。更新2:我已将文件编码(重新保存文件)更改为unic
有没有一种优雅的方法可以用BinaryReader模拟StreamReader.ReadToEnd方法?也许将所有字节放入一个字节数组?我这样做:read1.ReadBytes((int)read1.BaseStream.Length);...但必须有更好的方法。 最佳答案 原始答案(阅读下面的更新!)简单地做:byte[]allData=read1.ReadBytes(int.MaxValue);documentation表示它将读取所有字节,直到到达流的末尾。更新尽管这看起来很优雅,并且文档似乎表明这可行,但实际的实现(在.NE
有没有一种优雅的方法可以用BinaryReader模拟StreamReader.ReadToEnd方法?也许将所有字节放入一个字节数组?我这样做:read1.ReadBytes((int)read1.BaseStream.Length);...但必须有更好的方法。 最佳答案 原始答案(阅读下面的更新!)简单地做:byte[]allData=read1.ReadBytes(int.MaxValue);documentation表示它将读取所有字节,直到到达流的末尾。更新尽管这看起来很优雅,并且文档似乎表明这可行,但实际的实现(在.NE