Kaip sukurti ZIP failą atmintyje C#
Šiame žingsnį mokymuose sužinosite, kaip sukurti ZIP failą atmintyje naudojant C#. Čia pateiktas procesas leidžia jums suspausti failus ir aplankus į Zip formatą, nereikalaujant kurti fizinio failo diske.
ZIP failų kūrimo atminties privalumai
• Veiksmų rezultatai *:- Venkite diskų I / O viršūnės, todėl procesas yra greitesnis.
Laikinas saugojimas:- Pateikiami failai atmintyje greitai prieinami ir apdorojami.
• lankstumas *- Tai leidžia atlikti tokias operacijas kaip siųsti failus per tinklą be tarpinio saugojimo.
Žymos archyvas: paruošti aplinką
- Įdiegti „Visual Studio“ arba bet kokį suderinamą .NET IDE.
- Įdiegti Aspose.ZIP iš NuGet paketų valdytojo.
Žingsnis po žingsnio vadovas, kaip sukurti ZIP failą atmintyje
1 žingsnis: įdiegti Aspose.ZIP
Pradėkite pridedant Aspose.ZIP biblioteką į savo projektą.
Install-Package Aspose.ZIP
2 žingsnis: įtraukti pavadinimo erdvę
Pridėti į Aspose.Zip
Namespace į jūsų kodą, kad galėtumėte naudoti jo funkcijas.
using Aspose.Zip;
3 žingsnis: atsisiųskite failus iš disko
Atsisiųskite failų maršrutus iš šaltinio aplankos į sričių eilutę.
string[] filesArray = Directory.GetFiles("YourFolderPath", "*.*", SearchOption.TopDirectoryOnly);
4 žingsnis: sukurti archyvo objektą
Laikui bėgant Archive
objektas atminties laikyti ZIP įrašus.
using (MemoryStream zipFileInMemory = new MemoryStream())
{
using (Archive zipArchive = new Archive())
{
// Further processing follows here
}
}
5 žingsnis: sukurkite archyvų įrašus
Perkelkite failą ir sukurkite ArchiveEntry
Už kiekvieną failą.
foreach (string fileDiskPath in filesArray)
{
string fileName = Path.GetFileName(fileDiskPath);
zipArchive.CreateEntry(fileName, fileDiskPath);
}
6 žingsnis: išsaugoti ZIP failą atmintyje
Sukurkite ZIP archyvą atmintyje, išsaugodami jį į MemoryStream
.
zipArchive.Save(zipFileInMemory);
Išsamus kodo pavyzdys sukurti ZIP failą atmintyje
Štai visiškas kodas, kuris iliustruoja, kaip sukurti ZIP failą atmintyje:
// Create a MemoryStream instance for the ZIP file
using (MemoryStream zipFileInMemory = new MemoryStream())
{
// Create an empty Archive object for ZIP
using (Archive zipArchive = new Archive())
{
// Get all files from a folder and store their paths in a string array
string[] filesArray = Directory.GetFiles("YourFolderPath", "*.*", SearchOption.TopDirectoryOnly);
// Loop through the array and create an ArchiveEntry for each file
foreach (string fileDiskPath in filesArray)
{
string fileName = Path.GetFileName(fileDiskPath);
zipArchive.CreateEntry(fileName, fileDiskPath);
}
// Save the Archive in memory
zipArchive.Save(zipFileInMemory);
}
}
Papildoma informacija
- Jūs galite lengvai modifikuoti kodą, kad į ZIP failą būtų taikomi šifravimo ar suspaudimo metodai.
- Šis sprendimas leidžia atlikti tolesnes operacijas į atminties ZIP failą, pvz., Siųsti jį per tinklą arba išsaugoti jį į diską vėliau.
Conclusion
Šis mokymas parodė, kaip sukurti ZIP failą atmintyje naudojant C#. Pasekdamas pateiktą nuorodą, galite efektyviai valdyti failų suspaudimą savo programose be fizinių failus.