通过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。     

要回复问题请先登录注册