jjzjj

Streamreader

全部标签

C# Stream.Read 超时

我有这个流媒体阅读器:Booleanread=false;while(wline!="exit"){while(!read||streamReader.Peek()>=0){read=true;Console.Write((char)streamReader.Read());}wline=Console.ReadLine();streamWriter.Write(wline+"\r\n");streamWriter.Flush();}如何为Read()方法设置超时?谢谢 最佳答案 如果这是System.IO.StreamReader

c# - 在C#中同时读写一个文件

我有一个包含数据的文件,我想监视对其的更改,以及添加我自己的更改。像“Tail-ffoo.txt”一样思考。基于thisthread,看起来我应该只创建一个文件流,并将它同时传递给作者和读者。然而,当读者读到原始文件的末尾时,它看不到我自己写的更新。我知道这看起来很奇怪......它更像是一个实验,看看是否可以做到。这是我试过的例子:foo.txt:一个乙cd电子fstringtest="foo.txt";System.IO.FileStreamfs=newSystem.IO.FileStream(test,System.IO.FileMode.OpenOrCreate,System.

c# - 使用c#搜索文本文件并显示行号和包含搜索关键字的完整行

我需要帮助来使用C#搜索文本文件(日志文件)并显示行号和包含搜索关键字的完整行。 最佳答案 这是对http://msdn.microsoft.com/en-us/library/aa287535%28VS.71%29.aspx的细微修改intcounter=0;stringline;//Readthefileanddisplayitlinebyline.System.IO.StreamReaderfile=newSystem.IO.StreamReader("c:\\test.txt");while((line=file.ReadL

c# - 如何检测 .NET StreamReader 是否在基础流上找到 UTF8 BOM?

我得到一个FileStream(filename,FileMode.Open,FileAccess.Read,FileShare.ReadWrite),然后是一个StreamReader(stream,true)。有没有一种方法可以检查流是否以UTF8BOM开头?我注意到没有BOM的文件被StreamReader读取为UTF8。如何区分它们? 最佳答案 与其对字节进行硬编码,不如使用API更漂亮publicstringConvertFromUtf8(byte[]bytes){varenc=newUTF8Encoding(true);

c# - 使用 'using' 而不是关闭 WebResponse 和 StreamReader 是否安全

目前我已经为HttpWebRequest实现了一个名为GetResponse(url)的简单辅助方法。目前,我在读取结果后手动关闭WebResponse和StreamReader。然后我像这样返回上述结果://constructtherequestHttpWebRequestrequest=(HttpWebRequest)WebRequest.Create(url);request.Method="GET";//gettheresultWebResponseresponse=request.GetResponse();StreamReaderreader=newStreamReader

c# - 可以不关闭 StreamReader/StreamWriter 以保持底层流打开吗?

我有一个类,它本质上包装了一个用于读/写的Stream,但该流应该由该类的使用者管理。为了方便使用,我使用StreamReader和StreamWriter类对流进行I/O操作。通常我会将读取器和写入器包装在usingblock中,但我想避免关闭读取器和写入器,因为这样做也会关闭底层流,我必须保持它打开。如果我希望底层Stream由调用者管理,那么不关闭StreamReader/StreamWriter在内存/资源管理方面是否安全?当在其他地方显式关闭流时,读取器和写入器是否会被垃圾回收?publicclassWrapper{privateStream_underlyingStream

c# - 内部使用 yield

如果我没记错的话,当我在usingSqlConnectionblock中使用yield时,我遇到了运行时异常。using(varconnection=newSqlConnection(connectionString)){varcommand=newSqlCommand(queryString,connection);connection.Open();SqlDataReaderreader=command.ExecuteReader();//CallReadbeforeaccessingdata.while(reader.Read()){yieldreader[0];}//CallC

c# - 无缓冲 StreamReader

有没有办法让StreamReader不做任何缓冲?我正在尝试处理可能是二进制或文本的进程的输出。输出看起来像一个HTTP响应,例如Content-type:application/whateverAnother-header:valuetextorbinarydatahere我想做的是使用StreamReader解析header,然后从其BaseStream或StreamReader读取以处理其余的内容。这基本上是我开始的内容:privatestaticreadonlyRegexHttpHeader=newRegex("([^:]+):*(.*)");privatevoidHandle

java - 调用包含 hbm2ddl 任务的 ant 脚本时,Runtime.exec 会卡住吗?

为了启动一个ant脚本,我使用java.lang.Runtime类的exec方法,如下所示:Processprocess=Runtime.getRuntime().Exec(JAVA_HOMEANT_HOME-jar/lib/ant-launcher.jar-BuildFilefile.xml);这个方法,尽管看起来很简单,但是它带来了几个问题,在javadoc中描述如下:BecauseSomenativeplatformsProvideonlylimitedbuffersizeforstandardinputandoutputstreams,failuretopromptlywrit

C++ 事件驱动的 json 流阅读器

我刚刚发现了YAJL项目,它可以满足我的需求。从流中读取回调每个有效的已解析token当新数据到达时重新解析不完整的json但我更喜欢C++。当然,我可以从C++项目中使用这个库,如果我真的想的话,甚至可以编写我自己的包装器,但无论如何nativeC++更可取。我查看了JsonCPP,但看起来它无法从流中读取不完整的json数据。有没有其他的C++库可以解析json流?更多要求:轻巧。boost或Qt不适合我需要一些我可以在商业闭源软件(mit、公共(public)领域等)中自由使用的东西。支持不阻塞读取。或允许提供数据(append_incoming_data)。