File.WriteAllText在每个字符后插入一个空格

Jak*_* H. 3 c# writealltext

File.WriteAllText在每个字母和引号后插入一个空格.

例:

原始文件

"JobID" "ParentJobID"
Run Code Online (Sandbox Code Playgroud)

新文件

" J o b I D "    " P a r e n t J o b I D "
Run Code Online (Sandbox Code Playgroud)

using System;
using System.IO;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace ProcessOutputLogTransfer
{
    class Program
    {
        static void Main(string[] args)
        {

            string content = File.ReadAllText(@"C:\Documents and Settings\All Users\Application Data\Microsoft\Windows NT\MSFax\ActivityLog\OutboxLOG.txt");

        File.WriteAllText(@"C:\FAXLOG\OutboxLOG.txt", content, Encoding.UTF8);
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

Jon*_*eet 8

我认为不是WriteAllText这样做的.我相信它是ReadAllText默认使用UTF-8读取的 - 我怀疑你的OutboxLOG.txt文件实际上是用UTF-16编写的.试试这个:

string inputPath = @"C:\Documents and Settings\All Users\Application Data\"
                 + @"Microsoft\Windows NT\MSFax\ActivityLog\OutboxLOG.txt";
string outputPath = @"C:\FAXLOG\OutboxLOG.txt";

string content = File.ReadAllText(inputPath, Encoding.Unicode);
File.WriteAllText(outputPath, content, Encoding.UTF8);
Run Code Online (Sandbox Code Playgroud)