public ReadFileResult ReadFile(string filePath) { try { int partSize = 1024; byte[] sizeSimbols = new byte[partSize]; ulong size = 0; var readFile = new ReadFileResult() { Name = filePath }; using (var binReader = new BinaryReader(File.Open(filePath, FileMode.Open))) { while (binReader.BaseStream.Position != binReader.BaseStream.Length) { sizeSimbols = binReader.ReadBytes(partSize); for (int x = 0; x < sizeSimbols.Length; x++) { size += sizeSimbols[x]; } } readFile.ByteSize = size; } return(readFile); } catch (Exception ex) { return(new ReadFileResult() { Name = filePath, ByteSize = 0, ErrorMessage = ex.Message }); } }
public async Task <FilePart> GetNextPart(long requestedPartSize) { try { int partSize = Convert.ToInt32(Math.Min(requestedPartSize, fileLength - streamPosition)); ReadFileResult partContent = await ReadFile(partSize).ConfigureAwait(false); bool isLast = streamPosition + partSize >= fileLength; var part = new FilePart(partContent.Content, partCount, streamPosition, partSize, partContent.Hash, isLast); if (isLast) { HasMore = false; fileHash.Finalize(ArrayPool <byte> .Shared.Rent(0), 0, 0); } else { streamPosition += partSize; partCount += 1; } return(part); } catch { HasMore = false; throw; } }
//TODO: Сделать асинхронное чтение //TODO: Сделать окно с сообщением о загрузке /// <summary> /// Событие клика на начальную кнопку /// </summary> private void OpenFile() { ReadFileResult readFileResult = OpenAndReadFile(); if (!readFileResult.IsSuccess) { MessageBox.Show(readFileResult.ErrorMessage); return; } CreateStatisticResult statisticResult = CreateStatisticResult.GetStatistic( readFileResult.MeasureDates, readFileResult.MeasureWindTypes, readFileResult.FirstInformationRow, readFileResult.SecondInformationRow, readFileResult.ThirdInformationRow); //TODO: Проверить на нормальность использования string заместо WindTypes IList <string> windTypes = statisticResult.FileInformation.WindTypes.Select(_ => _.ToString()).ToList(); IList <double> windChanges = WindChange.GetWindChangesValues(statisticResult.FileInformation.WindChanges); _mainWindowViewModel.AnalyzeCenterPage = new AnalyzeCenterPage(windTypes, windChanges); _mainWindowViewModel.CurrentCenterPage = _mainWindowViewModel.AnalyzeCenterPage; _mainWindowViewModel.MenuRightPage = new MenuRightPage(statisticResult.FileInformation.FileInformationLabels); _mainWindowViewModel.CurrentRightPage = _mainWindowViewModel.MenuRightPage; _mainWindowViewModel.PeriodsLeftPage = new PeriodsLeftPage(statisticResult.FileInformation, statisticResult.PeriodInformations); _mainWindowViewModel.CurrentLeftPage = _mainWindowViewModel.PeriodsLeftPage; }
static void Main(string[] args) { Task<ReadFileResult> task = Task<ReadFileResult>.Factory.StartNew(() => { string url = "URL"; return readFile(url)); }); ReadFileResult outcome = task.Result; }
/// <summary> /// 读取文件 /// </summary> /// <param name="readFileParam"></param> /// <returns></returns> public static ReadFileResult ReadFile(ReadFileParameter readFileParam, IRemoteFileStorage proxy) { ManagerHelper.CheckNullReference(readFileParam, "readFileParam"); if (proxy == null) { proxy = ServiceProxy; } ReadFileResult result = proxy.ReadFile(readFileParam); ManagerHelper.CheckUpdateResult(result); return(result); }
public ReadFileResult ReadFile(ReadFileParameter param) { ReadFileResult result = new ReadFileResult(); try { result = ExecuteRemoteResult("ReadFile", param, result) as ReadFileResult; } catch (Exception e) { result.InnerException = CreateExceptionResult(result.InnerException, e.Message); } return(result); }
private ReadFileResult GetReadResult() { string dialogFilter = Resources.OpenFileDialogFilter; OpenFileDialog openDialog = new OpenFileDialog() { Filter = dialogFilter }; if (openDialog.ShowDialog() == true) { return(ReadFileResult.GetResult(openDialog.FileName)); } return(ReadFileResult.EmptyResult); }
/// <summary> /// 读取文件 /// </summary> /// <param name="fileItem"></param> /// <param name="proxy"></param> /// <returns></returns> public static ReadFileResultItemData ReadFile(ReadFileItemData fileItem, IRemoteFileStorage proxy) { ReadFileResultItemData result = null; ManagerHelper.CheckNullReference(fileItem, "fileItem"); if (fileItem.ReadCount > 0) { ReadFileParameter param = new ReadFileParameter(); param.InputData.Add(fileItem); ReadFileResult itemResult = ReadFile(param, proxy); if (itemResult.RecordCount > 0) { result = itemResult.ExecuteResult[0]; } } return(result); }
void CallBackUpdateGrid(ReadFileResult result) { Action action = () => { _filesSize.Insert(_filesSize.Count < 1 ? 0 : _filesSize.Count - 1, result); progress.Value += 1; lbProcessed.Text = $"Обработано: {_filesSize.Count}"; }; if (InvokeRequired) { BeginInvoke((MethodInvoker)(() => { Invoke(action); })); } else { action(); } }
protected byte[] ReadFile(Guid fileID, Guid lockID, string clientFileName, int startPos, int bufferCount, out string error) { RemoteFileStorageService provider = new RemoteFileStorageService(); ReadFileParameter para = new ReadFileParameter(); ReadFileItemData item = new ReadFileItemData(); para.InputData.Add(item); item.PhysicalFileID = fileID; item.ClientFileName = clientFileName; item.LockID = lockID; item.Position = startPos; item.ReadCount = bufferCount; ReadFileResult result = provider.ReadFile(para); error = null; if (result != null) { if (result.Succeed) { if (result.ExecuteResult.Count > 0) { ReadFileResultItemData itemResult = result.ExecuteResult[0]; if (itemResult != null) { return(itemResult.ReadData); } } error = string.Format("不存在ID为:{0}的文件.", fileID); } else { error = result.InnerException.ErrorMessage; } } else { error = "读取文件失败."; } return(null); }
public ReadFileResult ReadFile(ReadFileParameter readFileParam) { ReadFileResult result = new ReadFileResult(); try { if (readFileParam != null) { ReadFileResultItemDataCollection items = result.ExecuteResult; foreach (ReadFileItemData itemParam in readFileParam.InputData) { ReadFileResultItemData item = this.ReadFileItem(itemParam, readFileParam.CurrentUserID, null); items.Add(item); } } } catch (Exception e) { Utils.BuilderExecuteResult(result, e); } return(result); }
private void OpenFile() { ReadFileResult readResult = GetReadResult(); if (!readResult.IsSuccess) { MessageBox.Show(readResult.ErrorMessage); return; } CreateStatisticResult statisticResult = CreateStatisticResult.GetStatistic( readResult.MeasureDates, readResult.MeasureWindTypes, readResult.FirstInformationRow, readResult.SecondInformationRow, readResult.ThirdInformationRow); IList <string> windTypes = statisticResult.FileInformation.WindTypes.Select(_ => _.ToString()).ToList(); IList <double> windChanges = WindChange.GetWindChangesValues(statisticResult.FileInformation.WindChanges); MainWindowViewModel mainViewModel = MainWindowViewModel.GetInstance(); mainViewModel.AnalyzeCenterPage.SetWindHeaders(windTypes); mainViewModel.AnalyzeCenterPage.SetWindValues(windChanges); mainViewModel.PeriodsLeftPage.SetInformations(fileInformation: statisticResult.FileInformation, periodInformation: statisticResult.PeriodInformations); }
public static List <ReadFileResult> GetSearchRequests(List <string> fileNames) { var result = new List <ReadFileResult>(); foreach (var fileName in fileNames) { var fileResult = new ReadFileResult { FileName = fileName, Requests = new List <SearchRequest>() }; try { using (var document = SpreadsheetDocument.Open(fileName, false)) { var workbookPart = document.WorkbookPart; var data = workbookPart.WorksheetParts.First().Worksheet.Elements <SheetData>().First(); foreach (var row in data.Elements <Row>().Skip(1)) { var cells = row.Elements <Cell>(); fileResult.Requests.Add(new SearchRequest { Id = GetCellValue(cells.ElementAt(0), workbookPart), Brand = GetCellValue(cells.ElementAt(1), workbookPart), OriginalPrice = GetCellValue(cells.ElementAt(4), workbookPart) }); } fileResult.Success = true; } } catch { fileResult.Success = false; } result.Add(fileResult); } return(result); }
private static ReadFileResult readFile(string url) { ReadFileResult r = new ReadFileResult(); r.isSuccessFull = true; return r; }