将字符串数组复制到新文本文件c#

时间:2016-03-12 09:53:59

标签: c# arrays string

我无法将字符串数组合并到新的文本文件中, 当我创建一个新文件时,该文件已创建,但是当我尝试时 要将数组复制到新的文本文件,无论我尝试什么,该文件都会保持为空。

我尝试使用"使用"为了创建文件,我还尝试创建一个没有"使用"的新文本文件。并确保不要忘记使用" file.Close();"似乎没什么用。

有什么建议吗?

乔纳森。

这是我的正确代码(问题仅在" for"循环之后):

static void Main(string[] args) {
    string fileContent = File.ReadAllText("FreeText.txt");
    string[] chars = fileContent.Split(new char[] { ' ', '\t', '\r', '\n' }, StringSplitOptions.RemoveEmptyEntries);

    for(int i =0;i<chars.Length;i++) {
        if (i % 2 != 0)
            chars[i] = chars[i].ToUpper();
        else
            chars[i] = chars[i].ToLower();
    }

    using( FileStream fs = new FileStream(@"C:\Users\Yonatan\Documents\Visual Studio 2013\Projects\Clab2\Clab2\bin\Debug\Test.txt",
    FileMode.OpenOrCreate,
    FileAccess.Write)) {
        StreamWriter writer = new StreamWriter(fs);
        writer.WriteLine(chars);
        fs.Flush();
    }
}

2 个答案:

答案 0 :(得分:0)

直接从文件路径

使用StreamWriter
DataContext

答案 1 :(得分:0)

您需要的代码在答案中:How to write data to a text file in C#?

无论如何,我已经提供了一个解决方案:

   using( FileStream fs = new FileStream(@"C:\Test.txt",
                      FileMode.OpenOrCreate,
                      FileAccess.Write))
   {
       StreamWriter writer = new StreamWriter(fs);
       byte[] info = new UTF8Encoding(true).GetBytes(fileContent);
       fs.Write(info, 0, info.Length);
       fs.Close();
   }