1. 程式人生 > >File.CreateText建立檔案並寫入文字

File.CreateText建立檔案並寫入文字

最近在網上看到許多關於建立檔案並寫入文字的博文,大概都是以下的方法:

建立一個新文字檔案並寫入一個字串:

using System;
using System.IO;
public class TextToFile
{
private const string FILE_NAME = "MyFile.txt";
public static void Main(String[] args)
{
if (File.Exists(FILE_NAME)) // 確認檔案是否存在.
{
Console.WriteLine("{0} already exists.", FILE_NAME);
return;
}
using (StreamWriter sw = File.CreateText(FILE_NAME))
{
sw.WriteLine ("This is my file.");
sw.WriteLine ("I can write ints {0} or floats {1}, and so on.",
1, 4.2);
sw.Close();
}
}
}

第二種:用Streamwriter

using System;
using System.IO;
class Test
{
public static void Main()
{
// Create an instance of StreamWriter to write text to a file.
// The using statement also closes the StreamWriter.
using (StreamWriter sw = new StreamWriter("TestFile.txt"))
{
// Add some text to the file.
sw.Write("This is the ");
sw.WriteLine("header for the file.");
sw.WriteLine("-------------------");
// Arbitrary objects can also be written to the file.
sw.Write("The date is: ");
sw.WriteLine(DateTime.Now);
}
}
}

其實呢,第一種方法最簡單。建立一個檔案直接寫入值,如果你的文字欄位只有英文的話,那推薦使用第一種方法,簡單嘛。但是這種方法有一個缺陷就是它缺乏支援中文的元素。

你只要輸入sw.WriteLine ("我的部落格.");這下慘了,出來的全是亂碼。

第二種方法呢又不能直接建立檔案。哎。。。。真是杯具啊。。。

經過實驗,發現一種簡單的方法:發出來共享下

第三種方法:

string path=Server.MapPath(你的路徑);
                System.IO.StreamWriter sw = new System.IO.StreamWriter(path, true, System.Text.Encoding.Default);
                sw.Write(context);
                sw.Close();
                sw.Dispose();