private void CombineMultipleFilesIntoSingleFile() { try { using (var outputStream = File.Create(Path)) { foreach (var inputFilePath in inputFilePaths) { using (var inputStream = File.OpenRead(inputFilePath)) { // Buffer size can be passed as the second argument. inputStream.CopyTo(outputStream); } } } } catch {} Database.FilesRow row = App.DB.Files.NewFilesRow(); row.Url = Url; row.FileName = FileName; row.FileSize = (string.Format("{0:0.##} MB", (FileSize / 1024 / 1024))); row.DateTime = DateTime.Now; row.Path = Path; row.Format = txtFileFormat.Text; App.DB.Files.AddFilesRow(row); App.DB.AcceptChanges(); App.DB.WriteXml(string.Format("{0}/data.dat", Application.StartupPath)); ListViewItem item = new ListViewItem(row.Id.ToString()); item.SubItems.Add(row.Url); item.SubItems.Add(row.FileName); item.SubItems.Add(row.FileSize); item.SubItems.Add(row.DateTime.ToLongDateString()); item.SubItems.Add(row.Format); item.SubItems.Add(row.Path); Invoke(new Action(() => { lblStatus.Text = $"Downloaded {string.Format("{0}%", 100)}"; progressBar.Value = 100; progressBar.Update(); mainForm.listView1.Items.Add(item); })); }
private void Client_DownloadFileCompleted(object sender, AsyncCompletedEventArgs e) { Database.FilesRow row = App.DB.Files.NewFilesRow(); row.Url = Url; row.FileName = FileName; row.FileSize = string.Format("{0:0.##} KB", FileSize / 1024); row.DateTime = DateTime.Now; App.DB.Files.AddFilesRow(row); App.DB.AcceptChanges(); App.DB.WriteXml(string.Format("{0}/data.bat", Application.StartupPath)); ListViewItem item = new ListViewItem(row.Id.ToString()); item.SubItems.Add(row.Url); item.SubItems.Add(row.FileName); item.SubItems.Add(row.FileSize); item.SubItems.Add(row.DateTime.ToLongDateString()); _frmMain.listView1.Items.Add(item); this.Close(); }