c# - 写入制表符分隔文件

标签 c# file csv

我在编写制表符分隔的文件时遇到了问题,我已经在这里检查过但还没有得到我的答案。

所以我有一个函数返回包含以下重要部分的字符串(使用的分隔符以及我如何构建每一行):

var delimiter = @"\t";
sb.Append(string.Join(delimiter, itemContent));
sb.Append(Environment.NewLine);

返回的字符串是这样的:

H\t13\t170000000000001\t20150630
D\t1050\t10.0000\tY
D\t1050\t5.0000\tN

然后我用这个将它写入一个文件(下面的内容是上面的字符串):

var content = BuildFile(item);
var filePath = tempDirectory + fileName;

// Create the File
using (FileStream fs = File.Create(filePath))
{
    Byte[] info = new UTF8Encoding(true).GetBytes(content);
    fs.Write(info, 0, info.Length);
}

但是,文件输出是这样的,没有标签(在 Notepad++ 中打开):

H\t13\t170000000000005\t20150630
D\t1050\t20.0000\tN
D\t1050\t2.5000\tY

什么时候应该更像这样(提供示例文件):

H   100115980   300010000000003 20150625
D   430181  1   N
D   342130  2   N
D   459961  1   N

这可能是我使用的编码引起的吗?感谢您提供的任何意见,谢谢!

最佳答案

使用 var delimiter = @"\t";,变量包含文字 \ 加上 t。 @ 语法将反斜杠禁用为“特殊”。在这种情况下你真的想要

var delimiter = "\t";

有制表符。

关于c# - 写入制表符分隔文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31201133/

相关文章:

c# - 如何在Visual Studio Wp8.1中查找应用程序的包名称?

c# - 如何视觉上连接2个圈子?

c# - 将代码与 ?运算符(operator)

c# - 批量删除特定目录中的部分文件夹名称

python - pandas - 将一列转换为字符串列表后计算总体元素

c# - 如何从 C# 中的字符串中删除 "\r\n"?我可以使用正则表达式吗?

php - 如何遍历 $_FILES?

c++ - 写入和读取文件

MySQL 加载数据文件时出错

Python循环通过csv文件中的url返回\ufeffhttps ://