2014年12月19日 星期五

Write file with UNIX format

.NET   File format  




背景

WINDOWS用程式寫入的文字檔,在LINUX看會出現亂碼。
這是因為兩個作業系統的換行符號不同:
Windows底下是使用\r\n (0x0D 0x0A)
Linux底下是使用\n (0x0A)

可用Notepad++ 去看檔案格式。


解決方式


Notepad++



程式

l   在程式寫入檔案中強制將換行符號改為”\n” 則檔案格式會自動設定為UNIX

StreamWriter sw = new StreamWriter(filePath, false, System.Text.Encoding.UTF8));
sw.NewLine = "\n"; //for UNIX format
foreach (var item in data)
{
   String str = this._exportUnity.ParsingCsv.ParseToCsv(item);
   sw.WriteLine(str); //寫入
}
sw.Close();




Reference

沒有留言:

張貼留言