最近在练习编程文件读写时,发现一个有趣的事情,我写了一个string myPoem="春眠不觉晓,\n处处闻啼鸟。\n夜来风雨声,\n花落知多少。",当我按照UTF32把他写入File中发现,自动隐匿了\n,但当我把他再显示在Console上时,又按照标准显示。
想请教一下,是不是像\n这类转移字符只能在Console上产生效果,在要写入文件中的string中,有没有类似\n这种转义字符,实现文件换行?
这里是我的代码:
using System;
using System.Text;
using System.IO;
namespace FileVisitPractice
{
class Program
{
static void Main(string[] args)
{
//创建目录
string myDirectory= @"E:\MyDemo\VisualStudio\FileVisitPractice\FileVisitPractice\bin\Debug\MyDirectory";
if (Directory.Exists(myDirectory)) //检验是否已经存在
{
Console.WriteLine("MyDirectory exists.You don't need to create again.");
}
else
{
Directory.CreateDirectory(myDirectory);
Console.WriteLine("MyDirectory has been created.");
}
//创建文件
string myFile = @"E:\MyDemo\VisualStudio\FileVisitPractice\FileVisitPractice\bin\Debug\MyDirectory\MyFile.txt";
if ( File.Exists(myFile)) //检验是否已经存在
{
Console.WriteLine("MyFile exists.You don't need to create again.");
}
else
{
File.Create(myFile);
Console.WriteLine("MyFile has been created.");
}
//文件的打开
//不用,因为创建时Main进程就打开占用文件,如果再使用File.Open(myFile,FileMode.Append)就报错;
Console.WriteLine("MyFile has been opened.");
string myPoem = "春眠不觉晓,\n处处闻啼鸟。\n夜来风雨声,\n花落知多少。";
File.WriteAllText(myFile, myPoem, Encoding.UTF8);
Console.WriteLine("The poem has been written into MyFile");
//文件的读取
string yourPoem;
yourPoem = File.ReadAllText(myFile);
Console.WriteLine("Your pome has been read out.");
Console.WriteLine(yourPoem);
}
}
}