/// <summary> /// Copies data from a source stream to a target stream.</summary> /// <param name="source"> /// The source stream to copy from.</param> /// <param name="target"> /// The destination stream to copy to.</param> public void AddFile(string File) { byte[] data; int imageIndex = 0; DateTime Filedate; if (System.IO.Directory.Exists(File)) { string fileName; // ist ein verzeichnis do { fileName = System.IO.Path.GetTempPath() + Guid.NewGuid().ToString(); }while (System.IO.Directory.Exists(fileName)); System.IO.Directory.CreateDirectory(fileName); fileName += "\\" + File.Substring(File.LastIndexOf('\\') + 1) + ".zip"; using (Zip zip = Zip.Create(fileName, "Original source: " + File)) { zip.AddFolder(Zip.Compression.Deflate, File, ""); //zip.Close(); } data = System.IO.File.ReadAllBytes(fileName); imageIndex = ReadIcons(fileName); System.IO.File.Delete(fileName); System.IO.Directory.Delete(fileName.Substring(0, fileName.LastIndexOf('\\'))); Filedate = System.IO.Directory.GetLastWriteTime(File); } else { data = System.IO.File.ReadAllBytes(File); imageIndex = ReadIcons(File); Filedate = System.IO.File.GetLastWriteTime(File); } files.Add(new VirtualFile(smallImageList.Images[imageIndex], largeImageList.Images[imageIndex], File.Substring(File.LastIndexOf("\\") + 1), File, data, Filedate, DateTime.Now)); files[files.Count - 1].AddToListView(listView1); }