时忽略NUL值我有这种标签的分隔文本文件阅读文本文件
,我需要格式化为.csv和荫读它像
public static void ReadDelimitedFile(string docPath)
{
using (var writer = File.CreateText(@"outputFile.csv"))
{
using (var file = new StreamReader(docPath))
{
string line;
while ((line = file.ReadLine()) != null)
{
if (!string.IsNullOrEmpty(line))
{
var delimiters = new char[] { '\t' };
var segments = line.Split(delimiters, StringSplitOptions.RemoveEmptyEntries);
foreach (var segment in segments)
{
writer.Write(segment+";");
}
writer.WriteLine();
}
}
}
}
}
我试着使用静态方法
if (!string.IsNullOrEmpty(line))
但它不会忽略NUL行,h我能摆脱他们吗?那个符号甚至意味着什么?
谢谢
一个评论,因为答案隐含但没有状态:'这样NUL'与ASCII值0的字符的视觉表示(实际上,我认为每个编码中的值为0)。所以它是一个0字节,也被称为NUL字符。总的来说,我认为看到其中一个几乎总是一个bug,部分原因是如果给它们一个带有NUL的字符串,很多程序就会出错,例如CI相信使用NUL终止的字符串,所以在阅读时可能会很好只要将它视为第一个NUL文件的结尾)。 – Chris 2014-10-31 12:15:01