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

#c# #azure #file-storage

#c# #azure #файловое хранилище

Вопрос:

Я работаю над требованием, когда мне нужно читать CSV-файлы из общего файлового ресурса Azure (не из большого двоичного объекта Azure) с помощью консольного приложения 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
                   }
                }
 

Спасибо

Комментарии:

1. Не могли бы вы подробно описать вашу проблему и предоставить сообщение об ошибке?

Ответ №1:

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

Файл CloudFile = файловый ресурс.GetRootDirectoryReference() .GetFileReference(_blobfilename);

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

                    file.DownloadRangeToStream(ms, null, null);