简单地说,我一直在尝试实现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.
您好,我正在做某事,我需要能够将文本添加到.txt文件中。虽然我已经完成了这个,但我有一个小问题。我需要或多或少地在文件中间写入字符串。示例:HellomynameisBrandon,Ihopesomeonecanhelp,//Iwantthestringunderthisline.Thankyou.希望有人能帮忙解决。编辑好的,谢谢大家,我会想办法解决的,可能只是重写整个文件。好的,我正在制作的程序与主机文件有关,并不是每个人都有相同的主机文件,所以我想知道是否有办法读取他们的主机文件,并复制所有文件,同时向其中添加字符串? 最佳答案
我今天有一个关于StreamReader类的问题。具体使用文件名参数初始化此类例如:TextReadertr=newStreamReader(fileName);显然,当此操作完成后,像这样关闭流很重要:tr.Close();我想试试这个/最后,问题是我找不到办法做到这一点。以下是我发现的一些不起作用的变体:try{varserializer=newXmlSerializer(type);TextReadertr=newStreamReader(fileName);varobj=serializer.Deserialize(tr);}finally{tr.Close();}更糟的是:T
如果我有一个DictionarymyDic=newDictionary//Populatedictionary一个线程做myDic[0]=newStreamReader(path);另一个线程做myDic[1]=newStreamReader(otherpath)这个线程安全吗,因为字典中被修改的实际项目与另一个线程上的项目不同,或者我会得到一个InvalidOperationException:Collectionwasmodified 最佳答案 如果您在修改时枚举字典,您只会得到InvalidOperationException
我需要跟踪我从流阅读器读取的行的位置。当我说reader.ReadLine()时,我需要知道该行在文件中的位置,并且我还希望能够从我之前跟踪的位置读取文件。这可能吗? 最佳答案 您可以通过以下三种方式之一执行此操作:1)编写自己的StreamReader。这是一个很好的起点:Howtoknowposition(linenumber)ofastreamreaderinatextfile?2)StreamReader类有两个非常重要但私有(private)的变量,称为charPos和charLen,它们是定位实际“读取”位置所必需的,而
能否使用StreamReader读取普通文本文件,然后在读取过程中保存当前位置后关闭StreamReader,然后打开StreamReader并从那个位置开始阅读?如果不是,我还可以使用什么来完成相同的情况而不锁定文件?我试过了,但没用:varfs=File.Open(@"C:\testfile.txt",FileMode.Open,FileAccess.Read);varsr=newStreamReader(fs);Debug.WriteLine(sr.ReadLine());//Prints:firstlinevarpos=fs.Position;while(!sr.EndOfSt
我有一个本地化的应用程序,可以在整个欧洲使用。我有一个从磁盘加载文件的菜单选项。此操作在我的开发机器上运行良好,但在我用来测试其他操作系统(例如法语、西类牙语等)的虚拟机上不起作用。当StreamReader尝试打开文件时会生成FileNotFoundException。它说“'找不到文件C:\ProgramFiles\MyCompany\MyTool\bin\Files\debug.txt'”事实是,该文件确实存在,位于正确的位置并具有正确的文件名。目标(法语)操作系统上的目录名称与开发机器相同。有什么想法吗?stringourPath=System.IO.Path.GetDirec
我知道之前在Stackoverflow上有人问过这个问题,但找不到解释。当我尝试从压缩字节数组中读取字符串时,我在第一次尝试时得到了一个空字符串,在第二次我成功并获得了字符串。代码示例:publicstaticstringDecompress(byte[]gzBuffer){if(gzBuffer==null)returnnull;using(varms=newMemoryStream(gzBuffer)){using(vardecompress=newGZipStream(ms,CompressionMode.Decompress)){using(varsr=newStreamRea
假设我只对处理文本文件感兴趣,那么与StreamWriter相比,System.IO.File方法有哪些具体优势或劣势?是否涉及任何性能因素?基本区别是什么,在什么情况下应该使用哪些?还有一个问题,如果我想将一个文件的内容读入一个字符串并对其运行LINQ查询,哪个最好? 最佳答案 在File类中看似重复的方法背后有一段有趣的历史。它是在对.NET的预发布版本进行可用性研究之后产生的。他们请了一群有经验的程序员编写代码来操作文件。他们以前从未接触过.NET,只是有文档可以使用。成功率为0%。是的,有区别。当您尝试读取一个GB或更大的文
环顾四周,我发现了很多关于如何计算文件行数的讨论。例如这三个:c#howdoIcountlinesinatextfileDeterminethenumberoflineswithinatextfileHowtocountlinesfast?所以,我继续前进并最终使用了我能找到的似乎最有效(至少在内存方面?)的方法:privatestaticintcountFileLines(stringfilePath){using(StreamReaderr=newStreamReader(filePath)){inti=0;while(r.ReadLine()!=null){i++;}return