Tag: streamreader

StreamReader并读取XML文件

我从使用StreamReader的Web服务器得到响应…现在我想解析这个响应(它是一个XML文档文件)来获取它的值,但每次我尝试这样做时都会出错:Root元素丢失了。 如果我直接读取相同的XML文件,文件格式正确,我可以读取它。 这是流: WebResponse response = webRequest.GetResponse(); Stream responseStream = response.GetResponseStream(); StreamReader responseReader = new StreamReader(responseStream); string responseString = responseReader.ReadToEnd(); 这就是我尝试读取XML文件的方式: XmlDocument xmlDoc = new XmlDocument(); xmlDoc.Load(responseReader); XmlNodeList address = xmlDoc.GetElementsByTagName(“original”);

StreamReader.Read和StreamReader.ReadBlock之间的区别

文档简单地说ReadBlock是 “阻止版本的阅读” 但是,这是什么意思? 有人以前问了这个问题,但是,对吧? http://www.pcreview.co.uk/forums/thread-1385785.php 那个回答的人说 基本上,这意味着您可以依赖StreamReader.ReadBlock,直到它被读取为您所要求的为止,或者它已到达流的末尾。 我是否正确理解这是必需的,因为Read可能无法为您提供所需的一切? 那只是因为它返回0并不意味着你到达文件的末尾? 那么这意味着检查返回的字节数以外的其他内容(EndOfStream?)或使用ReadBlock代替?

如何快速计算线?

我尝试了unxutils的wc -l但它崩溃了1GB的文件。 我试过这个C#代码 long count = 0; using (StreamReader r = new StreamReader(f)) { string line; while ((line = r.ReadLine()) != null) { count++; } } return count; 它在4秒内读取500MB文件 var size = 256; var bytes = new byte[size]; var count = 0; byte query = Convert.ToByte(‘\n’); using (var stream = File.OpenRead(file)) { int many; do […]

.NET C# – 文本文件中的随机访问 – 没有简单的方法吗?

我有一个文本文件,其中包含几个“记录”。 每条记录都包含一个名称和一组数字作为数据。 我正在尝试构建一个将读取文件的类,仅显示所有记录的名称,然后允许用户选择他/她想要的记录数据。 我第一次浏览文件时,我只读取标题名称,但我可以跟踪标题所在文件中的“位置”。 我需要随机访问文本文件,以便在用户请求后查找每个记录的开头。 我必须这样做,因为文件太大,无法完全在内存(1GB +)中读取应用程序的其他内存需求。 我已经尝试使用.NET StreamReader类来实现这一点(它提供了非常容易使用的’ReadLine’function,但是没有办法捕获文件的真实位置(BaseStream属性中的位置因为缓冲类使用)。 在.NET中没有简单的方法吗?

Httplistener和文件上传

我正在尝试从我的网络服务器检索上传的文件。 当客户端通过webform(随机文件)发送文件时,我需要解析请求以获取文件并进一步处理它。 基本上,代码如下: HttpListenerContext context = listener.GetContext(); HttpListenerRequest request = context.Request; StreamReader r = new StreamReader(request.InputStream, System.Text.Encoding.Default); // this is the retrieved file from streamreader string file = null; while ((line = r.ReadLine()) != null){ // i read the stream till i retrieve the filename // get the file data out and break the loop […]

跟踪流读取器线的位置

嗨伙计们,我需要做的是跟踪我从流阅读器读取的行的位置当我说reader.ReadLine()我需要知道该行在文件中的位置,我也希望能够然后从我之前跟踪过的位置读取文件。 这可能吗? 如果是这样请协助。 非常感谢帮助 提前致谢。

使用.NET在文件中间添加一行

你好我正在做一些事情,我需要能够将文本添加到.txt文件中。 虽然我已经完成了这个我有一个小问题。 我需要或多或少地在文件中间写字符串。 例: Hello my name is Brandon, I hope someone can help, //I want the string under this line. Thank you. 希望有人可以帮助解决方案。 编辑好吧谢谢你们,我会试着想出来,可能只是重写整个文件。 好吧,我正在制作的程序与hosts文件有关,并不是每个人都有相同的hosts文件,所以我想知道是否有办法读取他们的hosts文件,并复制所有文件,同时将字符串添加到它?

如何知道文本文件中streamreader的位置(linenumber)?

一个例子(可能不是现实生活,但要说明我的观点): public void StreamInfo(StreamReader p) { string info = string.Format( “The supplied streamreaer read : {0}\n at line {1}”, p.ReadLine(), p.GetLinePosition()-1); } 这里的GetLinePosition是GetLinePosition的虚构扩展方法。 这可能吗? 当然,我可以自己计算,但这不是问题。

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

我需要帮助来使用c#搜索文本文件(日志文件)并显示行号和包含搜索关键字的完整行。

StreamReader和寻求

你可以使用streamreader来读取普通的文本文件,然后在保存当前位置之后在读取过程中关闭流读取器,然后再次打开streamreader并开始读取该poision吗? 如果不是我可以使用什么来完成相同的情况而不锁定文件? 像这样的东西: var fs = File.Open(@”C:\testfile.txt”, FileMode.Open, FileAccess.Read); var sr = new StreamReader(fs); Debug.WriteLine(sr.ReadLine());//Prints:firstline var pos = fs.Position; while (!sr.EndOfStream) { Debug.WriteLine(sr.ReadLine()); } fs.Seek(pos, SeekOrigin.Begin); Debug.WriteLine(sr.ReadLine());//Prints Nothing, i expect it to print SecondLine. @lasseespeholt 这是我试过的代码 var position = -1; StreamReaderSE sr = new StreamReaderSE(@”c:\testfile.txt”); Debug.WriteLine(sr.ReadLine()); position = sr.BytesRead; Debug.WriteLine(sr.ReadLine()); Debug.WriteLine(sr.ReadLine()); Debug.WriteLine(sr.ReadLine()); Debug.WriteLine(sr.ReadLine()); Debug.WriteLine(“Wait”); sr.BaseStream.Seek(position, […]