如何使用C#将Unix Line feed更改为Windows Line feed

本文关键字:feed Line Windows 何使用 Unix | 更新日期: 2023-09-27 18:26:13

我正在尝试编写一个unix2dos程序来更改文本文件的换行符。问题是没有更改文本文件的内容,而是附加了文件名。

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO;
namespace unix2dos
{
    class Program
    {
        static void Main(string[] args)
        {
            string[] filePaths = Directory.GetFiles(@"c:'textfiles'", "*.txt");
            foreach (string file in filePaths)
            {
                string[] lines = File.ReadAllLines(file);
                foreach (string line in lines)
                {
                    string replace = line.Replace("'n", "'r'n");
                    File.WriteAllText(file, replace);
                }
            }
        }
    }
}

如何使用C#将Unix Line feed更改为Windows Line feed

因为您正在写入字符串并覆盖它。

试试这个:

string[] filePaths = Directory.GetFiles(@"c:'textfiles'", "*.txt");
foreach (string file in filePaths)
{
    string[] lines = File.ReadAllLines(file);
        List<string> list_of_string = new List<string>();
    foreach (string line in lines)
    {
        list_of_string.Add( line.Replace("'n", "'r'n"));
    }
    File.WriteAllLines(file, list_of_string);
}