创建并上传csv文件到ADLS



我试图创建一个。csv文件上传到ADLS使用DataLakeFileClient和MemoryStream。它工作得很好,但csv文件在csv中的每个字母之后都有一个垃圾值。(当我在notepad++中下载并打开文件时,我可以看到这些是'NUL')。

下面是我的代码:

DataLakeFileClient fileClient = new DataLakeFileClient(new
Uri($"https://{accountName}.dfs.core.windows.net/{container}/{directory}/{filename}"), credential); 
UnicodeEncoding uniEncoding = new UnicodeEncoding();
using (MemoryStream memStream = new MemoryStream(100))
{
byte[] colString = uniEncoding.GetBytes("a,b,c,d,e,f");
memStream.Write(colString, 0, colString.Length);

memStream.WriteByte(0x0A);

byte[] dataString = uniEncoding.GetBytes(string.Join(",", "val1","val2","val3","val4","val5","val6"));
memStream.Write(dataString, 0, dataString.Length);
memStream.Position = 0;
fileClient.Upload(memStream); 
}

这是因为你的LF (0x0A)是一个字节而不是2。在它后面添加另一个字节:

memStream.WriteByte(0x0A);
memStream.WriteByte(0x0);

相关内容

  • 没有找到相关文章

最新更新