繁体   English   中英

未创建Streamwriter文件

[英]Streamwriter file is not being created

我正在使用下面的代码根据您在此处看到的逻辑将大文本文件拆分为较小的文件。 我在File.WriteAllText行上收到错误,说tempfile不存在。 流是一个标题记录,后面是多个报告数据行,后面是报告行的一端,然后重新开始。 有谁知道为什么我的临时文件不会在这里创建,我错过了什么? 谢谢。

private static void SplitFile()
{
    StreamReader sr = new StreamReader($"{_processDir}{_processFile}");
    StreamWriter sw = null;
    string fileName = string.Empty;
    while (!sr.EndOfStream)
    {
        string line = sr.ReadLine();
        if (line.Split('\t')[0] == "FILEIDENTIFIER")
        {
            //line is a header record
            sw = new StreamWriter("{_processDir}tempfile.txt", false);
            sw.WriteLine(line);
        }
        else if (line.Contains("END OF\tREPORT"))
        {
            //line is end of report
            sw.Close();
            File.WriteAllText($"{_processDir}{fileName}.txt", File.ReadAllText($"{_processDir}tempfile.txt"));
        }
        else
        {
            //line is a report datarow
            fileName = line.Split('\t')[0];
            sw.WriteLine(line);
        }
    }
}

这段代码让你遇到问题:

 sw = new StreamWriter("{_processDir}tempfile.txt", false);

使用上面代码的字符串插值:

 sw = new StreamWriter($"{_processDir}tempfile.txt", false);

您可以检查streamwriter写入数据的位置。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM