有时当我打开一些文件时,Visual Studio会向我显示一个关于不一致的行结尾的对话框,但Visual Studio能够规范化行结尾。
如何使用C#自行规范化文件中的行结尾(Windows CR LF)?
我从SQL Server读取存储过程的定义并将其保存到文件中。
File.WriteAllText("procedure.sql", "content");
但是当我在Visual Studio中打开文件时,会发出有关不一致行结尾的警告。当我想修改存储过程时,SQL Server Management Studio也会显示相同的警告。
答案 0 :(得分:1)
如果您想要标准化为\r\n
,那么这应该足够了:
string filename = "somefile.txt";
var lines = File.ReadAllLines(filename);
File.WriteAllLines(filename, lines);
(它有效,因为ReadAllLines
同时接受\r
,\n
或\r\n
,然后写WriteAllLines
始终使用\r\n
)
请注意,这不会保留编码(例如,UTF8的初始BOF的存在/不存在,或者文件是否为Unicode)。该文件将以UTF8编写,不含BOM。