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)
我认为不是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)