У меня есть этот вид вкладки разделителей текстового файлаИгнорирования значения 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, ч ow я могу избавиться от них? Что означает этот символ?
Спасибо
Один комментарий, так как ответы подразумевается, но не состояние: 'NUL' как это визуальное представление символа со значением 0 в ASCII (и на самом деле я думаю, значение 0 в каждой кодировке). Таким образом, это 0 байт и также называется символом NUL. В общем, я считаю, что один из них почти всегда является ошибкой где-то, отчасти потому, что многие программы идут ужасно неправильно, если вы даете им строку с NUL в ней (например, CI полагает, что NUL завершает строки, поэтому при чтении это может хорошо просто рассмотрите его в конце файла при первом NUL). – Chris