如何解决通过StreamWriter使用file.Close
| 我在尝试使用该文件时遇到问题。在此方法中使用StreamWriter关闭,它似乎不喜欢它。有人可以演示如何做到这一点。 (之所以这样,是因为另一个方法访问了正在使用的文件,因此无法访问,因为该文件仍在被另一个方法使用。) 到目前为止的代码:private static void TrimColon()
{
using (StreamWriter sw = File.AppendText(@\"process_trimmed.lst\"))
{
StreamReader sr = new StreamReader(@\"process_trim.lst\");
string myString = \"\";
while (!sr.EndOfStream)
{
myString = sr.ReadLine();
int index = myString.LastIndexOf(\":\");
if (index > 0)
myString = myString.Substring(0,index);
sw.WriteLine(myString);
}
}
}
解决方法
private static void TrimColon(String inputFilePath,String outputFilePath)
{
//Error checking file paths
if (String.IsNullOrWhiteSpace(inputFilePath))
throw new ArgumentException(\"inputFilePath\");
if (String.IsNullOrWhiteSpace(outputFilePath))
throw new ArgumentException(\"outputFilePath\");
//Check to see if files exist? - Up to you,I would.
using (var streamReader = File.OpenText(inputFilePath))
using (var streamWriter = File.AppendText(outputFilePath))
{
var text = String.Empty;
while (!streamReader.EndOfStream)
{
text = streamReader.ReadLine();
var index = text.LastIndexOf(\":\");
if (index > 0)
text = text.Substring(0,index);
streamWriter.WriteLine(text);
}
}
}
, 由于使用了“ using \”语句,StreamWriter也会关闭以及刷新。因此,无需调用close。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。