C#File.AppendText到下一行

时间:2012-07-31 15:16:15

标签: c# compact-framework

我有这个方法

TextReader tr = new StreamReader(@"\IPSM\DeviceConfig.EXM");    
int NumOFLines = 6;    
String[] ListLines = new string[NumOFLines];    
for (int i = 1; i < NumOFLines; i++)
{    
    ListLines[i] = tr.ReadLine();    
}    
using (StreamWriter output = File.AppendText(@"\temp\exm.txt"))    
{    
    output.Write(ListLines[5]);    
}    
tr.Close();    
return;

它读取文本文件的第5行,它们附加到另一个文本文件,输出为

Line1    
Line2LINE5 //from the other text file

我想要

Line1    
Line2    
LINE5 //from the other text file

如何将其输出到下一行我仅限于Compact Framework

2 个答案:

答案 0 :(得分:2)

您可以使用WriteLine在CrLf上写一行。

        using (StreamWriter output = File.AppendText(@"\temp\exm.txt"))     
        {     
            output.WriteLine(ListLines[5]);     
        }     

因此,您的文件始终以新行结束(删除或编辑您的文件以确保它)。 如果你不能,请尝试以下方法:

        using (StreamWriter output = File.AppendText(@"\temp\exm.txt"))     
        {     
            output.WriteLine();
            output.Write(ListLines[5]); 
        }     

WriteLine应该在CF上可用,否则你可以将换行符附加到Write

的字符串参数
            output.Write(ListLines[5] + Environment.NewLine);  

            output.Write(ListLines[5] + "\r\n");  

答案 1 :(得分:0)

如果你看一下这个链接中的例子,它显示了'Environment.NewLine'的使用我不确定你是否可以在紧凑的框架上使用它,但它值得一试。 http://msdn.microsoft.com/en-us/library/ms143356.aspx