草庐IT

BufferedStream

全部标签

C# - StreamReader.ReadLine 无法正常工作!

简单地说,我一直在尝试实现BufferedStreamReader在Java中所做的事情。我打开了一个套接字流,只想以面向行的方式逐行读取它。我有以下服务器代码。while(continueProcess){try{StreamReaderreader=newStreamReader(Socket.GetStream(),Encoding.UTF8);stringcommand=reader.ReadLine();if(command==null)break;OnClientExecute(command);}catch(Exceptione){Console.WriteLine(e.

c# - 在 C# 中使用流读取大文本文件

我有一个可爱的任务,就是研究如何处理加载到我们应用程序脚本编辑器中的大文件(对于我们用于快速宏的内部产品,它类似于VBA)。大多数文件大约为300-400KB,可以很好地加载。但是当它们超过100MB时,这个过程就会很困难(如您所料)。发生的事情是文件被读取并被插入一个RichTextBox中,然后导航-不要太担心这部分。编写初始代码的开发人员只是简单地使用StreamReader并执行[Reader].ReadToEnd()这可能需要很长时间才能完成。我的任务是分解这段代码,将其分block读入缓冲区并显示一个带有取消选项的进度条。一些假设:大多数文件大小为30-40MB文件内容为文

c# - 在 C# 中使用流读取大文本文件

我有一个可爱的任务,就是研究如何处理加载到我们应用程序脚本编辑器中的大文件(对于我们用于快速宏的内部产品,它类似于VBA)。大多数文件大约为300-400KB,可以很好地加载。但是当它们超过100MB时,这个过程就会很困难(如您所料)。发生的事情是文件被读取并被插入一个RichTextBox中,然后导航-不要太担心这部分。编写初始代码的开发人员只是简单地使用StreamReader并执行[Reader].ReadToEnd()这可能需要很长时间才能完成。我的任务是分解这段代码,将其分block读入缓冲区并显示一个带有取消选项的进度条。一些假设:大多数文件大小为30-40MB文件内容为文

c# - 是否有比嵌套 "using"更好的确定性处置模式?

在C#中,如果我想确定性地清理非托管资源,我可以使用“using”关键字。但是对于多个依赖对象,这最终会越来越嵌套:using(FileStreamfs=newFileStream("c:\file.txt",FileMode.Open)){using(BufferedStreambs=newBufferedStream(fs)){using(StreamReadersr=newStreamReader(bs)){//usesr,andhaveeverythingcleanedupwhendone.}}}在C++中,我习惯于像这样使用析构函数:{FileStreamfs("c:\fil

c# - 是否有比嵌套 "using"更好的确定性处置模式?

在C#中,如果我想确定性地清理非托管资源,我可以使用“using”关键字。但是对于多个依赖对象,这最终会越来越嵌套:using(FileStreamfs=newFileStream("c:\file.txt",FileMode.Open)){using(BufferedStreambs=newBufferedStream(fs)){using(StreamReadersr=newStreamReader(bs)){//usesr,andhaveeverythingcleanedupwhendone.}}}在C++中,我习惯于像这样使用析构函数:{FileStreamfs("c:\fil

c# - BufferedStream 和 MemoryStream 在应用上有什么区别?

BufferedStream和MemoryStream在应用上有什么区别?既然MemoryStream可以随时刷新到文件中,它就不能取代BufferedStream吗? 最佳答案 BufferedStream只是现有流上的缓冲区。MemoryStream是整个流的缓冲区-它没有链接到另一个流。您可以随时要求它将自己写入另一个流,但这不是一回事。缓冲的主要原因之一是避免频繁写入昂贵的资源。但是,这并不意味着您要缓冲内存中的所有数据——刚好足以避免非常小的写入。例如,如果FileStream没有它自己的缓冲策略,那么将它包装在Buffe