C#Streamwriter帮助大家好,我需要一点帮助。我需要我的streamwriter从Directory.Getfiles调用字符串中获取文件名lines=(listBox1.Items.ToString());字符串sourcefolder1=textBox1.Text;字符串目标文件夹=(@"C:annqcfiles");string[]files=Directory.GetFiles(sourcefolder1,lines+"*.ann");foreach(stringlistBoxIteminlistBox1.Items){Directory.GetFiles(sourcefolder1,listBoxItem+"*.txt");StreamWriteroutput=newStreamWriter(destinationfolder+"\"+listBoxItem+".txt");它完美地创建了文件,它没有向文件添加任何内容。我真正想要的是它在getfiles结果中找到的文件的文件名。感谢您的任何建议。foreach(stringlistBoxIteminlistBox1.Items){using(StreamWriteroutput=newStreamWriter(destinationfolder+"\"+listBoxItem+".txt")){foreach(stringfileNameinDirectory.GetFiles(sourcefolder1,listBoxItem+"*.txt")")){output.WriteLine(fileName);}}}由于GetFiles返回一个字符串[],根本不要使用StreamWriterFile.WriteAllLines(path,files);其中文件是一个字符串[]write,路径是目标文件。两件事情。首先,您需要将数据实际写入StreamWriter,其次,您需要确保StreamWriter已关闭,以便将其实际刷新到文件中。试试这个:foreach(stringlistBoxIteminlistBox1.Items){String[]filesInFolderDirectory.GetFiles(sourcefolder1,listBoxItem+"*.txt");using(StreamWriteroutput=newStreamWriter(destinationfolder+"\"+listBoxItem+".txt")){foreach(filesInFolder中的字符串文件名){output.Write(文件名);}}}using语句确保在执行超出using块时关闭StreamWriter。或者,如果您正在写入文件,则可以查看Files.WriteAllLines(...)方法。您应该将您的streamwriter包装在一个using语句中,该语句将刷新并关闭该streamwriter关闭StreamWriter。或者将StreamWriter包装在using语句中,这将自动处理和关闭您的流。这背后的原因是您的流将输出保存在缓冲区中,并在以下情况下将其写入文件:-达到某个阈值-您明确调用flush-流被关闭或处置如果#Streamwriter的帮助共享的内容是对你有用,需要了解更多的C#学习教程,希望大家多多关注。本文收集自网络,不代表立场。如涉及侵权,请点击右侧联系管理员删除。如需转载请注明出处:
