Azure Data Lake Store .NET SDK可以读取和写入二进制文件吗?

时间:2018-06-15 16:20:32

标签: azure-data-lake azure-sdk-.net

ADLS .NET SDK提供了一些用于阅读和创建文本文件的好例子。这使用StreamReader,这不应该与二进制文件一起使用。我尝试使用BinaryReader但是没有成功。

https://docs.microsoft.com/en-us/azure/data-lake-store/data-lake-store-data-operations-net-sdk

//Read file contents
using (var readStream = new StreamReader(client.GetReadStream(fileName)))
{
    string line;
    while ((line = readStream.ReadLine()) != null)
    {
        Console.WriteLine(line);
    }
}

.NET SDK可以创建/读取二进制文件吗?如果是这样,有没有这样做的例子?

1 个答案:

答案 0 :(得分:1)

  

.NET SDK可以创建/读取二进制文件吗?如果是这样,有没有这样做的例子?

简短回答是,请参考以下演示代码。

创建二进制文件

AdlsClient adlsClient = AdlsClient.CreateClient($"{datalakeAccount}.azuredatalakestore.net", clientCreds);
using (var stream = adlsClient.CreateFile("file name", IfExists.Overwrite))
{
    byte[] textByteArray = File.ReadAllBytes(@"local file path");
    stream.Write(textByteArray, 0, textByteArray.Length);
}

读取二进制文件并写入本地文件

using (var filesream = adlsClient.GetReadStream("1.png"))

{               
     MemoryStream memorystream = new MemoryStream();
     filesream.CopyTo(memorystream);
     memorystream.Position = 0;
     File.WriteAllBytes(@"filename", memorystream.ToArray());         
}