Как прочитать CSV-файл из общей папки Azure в поток памяти с помощью C#?

Я работаю над требованием, когда мне нужно читать CSV-файлы из папки Azure File Share (не Azure blob) с помощью консольного приложения C#. Я дошел до того, что могу прочитать файл, как показано в приведенном ниже коде.

Но как я могу получить содержимое файла в поток памяти?

// List all files/directories under the root directory
IEnumerable<IListFileItem> fileList = fileShare.GetRootDirectoryReference()
                                               .ListFilesAndDirectories();

            if (fileList != null)
            {
                foreach (IListFileItem listItem in fileList)
                {
                    if (listItem.GetType() == typeof(CloudFile))
                    {
                        Console.WriteLine("Retrieved File: " + listItem.Uri.Segments.Last());
                        WriteToLog("Retrieved File: " + listItem.Uri.Segments.Last());

                        _filename = listItem.Uri.Segments.Last();//Gets the CSV file name
                   }
                }

Спасибо


person Toly R    schedule 20.01.2021    source источник
comment
Не могли бы вы подробно описать вашу проблему и предоставить сообщение об ошибке?   -  person Jim Xu    schedule 20.01.2021


Ответы (1)


Я смог загрузить файл для потоковой передачи, используя приведенный ниже код. Надеюсь, это будет полезно для тех, кто пытается добиться этого с помощью входного файла CSV.

Файл CloudFile = FileShare.GetRootDirectoryReference().GetFileReference(_blobfilename);

                    long? offset = Convert.ToInt64(file.Properties.Length * 0);
                    long? length = Convert.ToInt64(file.Properties.Length * -100);

                    file.DownloadRangeToStream(ms, null, null);
person Toly R    schedule 22.01.2021