рдЬрд╝рд┐рдк рдЕрднрд┐рд▓реЗрдЦрд╛рдЧрд╛рд░ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рджреЛ рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХрд╛ рдЫреЛрдЯрд╛ рдкрд░реАрдХреНрд╖рдг (C # рднрд╛рд╖рд╛)

рд╕рдВрдЧреНрд░рд╣



рдПрдХ рдмрд╛рд░ рд╕реЗ рдЕрдзрд┐рдХ рдмрд╛рд░ рдореБрдЭреЗ рд╕реА # рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЬрд╝рд┐рдк рдЕрднрд┐рд▓реЗрдЦрд╛рдЧрд╛рд░ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдирд╛ рдкрдбрд╝рд╛, рдореЗрд░реЗ рдорд╛рдорд▓реЛрдВ рдореЗрдВ рдпрд╣ рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЗ рд╕рд╛рде рд╕рдВрдЧреНрд░рд╣ рдХреЛ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░ рд░рд╣рд╛ рдерд╛, рдлрд┐рд░ рдореИрдВрдиреЗ рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЛ рдбрд┐рд╕реНрдХ рдкрд░ рдирд┐рдХрд╛рд▓рд╛, рдпрджрд┐ рдпрд╣ рдПрдХ рдкрд╛рда рдлрд╝рд╛рдЗрд▓ рдирд╣реАрдВ рдереА, рддреЛ рдореИрдВрдиреЗ рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЛ рдЧрддрд┐рд╢реАрд▓ рд░реВрдк рд╕реЗ рдХрдиреЗрдХреНрдЯ рдХрд┐рдпрд╛, рдЕрдиреНрдпрдерд╛ рдореБрдЭреЗ рд╕рд┐рд░реНрдл рдбреЗрдЯрд╛ рдкрдврд╝рдиреЗ рдХреА рдЬрд╝рд░реВрд░рдд рдереАред рдЗрди рдЙрджреНрджреЗрд╢реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП, рдореИрдВрдиреЗ рдЬрд╝рд┐рдкрд╕реНрдЯреЙрдкрд░ рдХрд╛ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд┐рдпрд╛, рдореБрдЭреЗ рдпрд╣ рдкрд╕рдВрдж рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рд╕рд┐рд░реНрдл рдЗрд╕реЗ рд╕реМрдВрдкреЗ рдЧрдП рдХрд╛рдо рдХреЛ рдХрд░рддрд╛ рд╣реИ, рдЗрд╕рдХрд╛ рд╡рдЬрди рдмрд╣реБрдд рдХрдо рд╣реИ рдФрд░ рдпрд╣ рдПрдХ рдРрд╕рд╛ рд╡рд░реНрдЧ рд╣реИ, рдЬреЛ рдиреНрдпреВрдирддрдо рдорд╛рддреНрд░рд╛ рдореЗрдВ рдЗрд╢рд╛рд░реЛрдВ рдХреЗ рд╕рд╛рде рдирд┐рд╖реНрдкрд╛рджрди рдпреЛрдЧреНрдп рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рд╣реИред рдЖрдЬ рдореИрдВрдиреЗ рдХреБрдЫ рдФрд░ рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░рдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛, рдЬрд┐рд╕рдХреЗ рд▓рд┐рдП рдореИрдВрдиреЗ рджреЛ рд╢рд╛рд░реНрдкрдЬрд┐рдкрд▓рд┐рдм рдФрд░ рдбреЙрдЯрдиреЗрдЯрдЬрд┐рдк рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХреЛ рдЪреБрдирд╛, рдЬрд┐рд╕рдХреЗ рдмрд╛рдж рдореИрдВрдиреЗ рдпрд╣ рд╕рдордЭрдиреЗ рдХреЗ рд▓рд┐рдП рдереЛрдбрд╝рд╛ рдкрд░реАрдХреНрд╖рдг рдХрд┐рдпрд╛ рдХрд┐ рднрд╡рд┐рд╖реНрдп рдореЗрдВ рдореЗрд░реЗ рд▓рд┐рдП рдХреМрди рд╕рд╛ рдЙрдкрдпреЛрдЧреА рд╣реЛ рд╕рдХрддрд╛ рд╣реИред



рдЪреВрдБрдХрд┐ рдореИрдВрдиреЗ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА ZipStorer рдХрд╛ рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдореИрдВ рдЗрд╕рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг рджрд┐рдЦрд╛рдКрдБрдЧрд╛, рдХреЗрд╡рд▓ ZipStorer.cs рд╡рд░реНрдЧ рдХреЛ рдЬреЛрдбрд╝реЗрдВрдЧреЗ рдФрд░ рдПрдХ рдРрд╕реА рд╡рд┐рдзрд┐ рд▓рд┐рдЦреЗрдВрдЧреЗ, рдЬрд┐рд╕рдХреЗ рдмрд╛рдж рд╕рдм рдХреБрдЫ рдХрд╛рдо рдХрд░реЗрдЧрд╛:

private void Unzip( string fileInput, string saveFile)

{

// Open an existing zip file for reading

using (ZipStorer zip = ZipStorer.Open(fileInput, FileAccess.Read))

{

// Read the central directory collection

List <ZipStorer.ZipFileEntry> dir = zip.ReadCentralDir();



// Look for the desired file

string DBfile = string .Empty;

foreach (ZipStorer.ZipFileEntry entry in dir)

{

if (Path.GetFileName(entry.FilenameInZip).ToLower().IndexOf( ".txt" ) != -1)

{

DBfile = Path.GetFileName(entry.FilenameInZip);

zip.ExtractFile(entry, saveFile + DBfile);



//Now we can connect to database or read file

}

}

}

}




* This source code was highlighted with Source Code Highlighter .






рдЕрдм рд╣рдореЗрдВ рдкрддрд╛ рдЪрд▓рддрд╛ рд╣реИ рдХрд┐ SharpZipLib рдФрд░ DotNetZip рдХреЗ рд▓рд┐рдП рдРрд╕реЗ рдХрд╛рдо рдХрд░рдирд╛ рдХрд┐рддрдирд╛ рдЖрд╕рд╛рди рд╣реЛрдЧрд╛ред рд╢рд╛рд░реНрдкрдЬрд┐рдкрд▓рд┐рдм рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рдЙрджрд╛рд╣рд░рдг рдЗрд╕ рд▓рд┐рдВрдХ рдпрд╛ рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рд╕реНрд░реЛрдд рдкрд░ рдкрд╛рдП рдЬрд╛ рд╕рдХрддреЗ рд╣реИрдВ, рдХрд╛рдо рдХреЗ рд▓рд┐рдП рдбреЙрдЯрдиреЗрдЯрдЬрд┐рдк рдХреЗ рдЙрджрд╛рд╣рд░рдг рдкреБрд╕реНрддрдХрд╛рд▓рдп рдХреЗ рд╕рд╛рде рд╕рдВрдЧреНрд░рд╣ рдореЗрдВ рддреБрд░рдВрдд рд╣реЛрдВрдЧреЗред



рд▓рд╛рдЗрд╕реЗрдВрд╕:

рд╢рд╛рд░реНрдкрдЬрд┐рдкрд▓рд┐рдм - рдЬреАрдкреАрдПрд▓

рдбреЙрдЯрдиреЗрдЯрдЬрд╝рд┐рдк - рдПрдордПрд╕-рдкреАрдПрд▓



рдЗрд╕ рдмрд╛рд░ рдореИрдВрдиреЗ рдбреЗрд╡рд▓рдкрд░реНрд╕ рд╕рд╛рдЗрдЯреЛрдВ рд╕реЗ рдЬрд╛рдирдХрд╛рд░реА рдХрд╛ рдЕрдиреБрд╡рд╛рдж рдирд╣реАрдВ рдХрд░рдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛, рдореИрдВ рдХреЗрд╡рд▓ рдпрд╣ рдХрд╣ рд╕рдХрддрд╛ рд╣реВрдВ рдХрд┐ рджреЛрдиреЛрдВ рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХреЗ рдкрд╛рд╕ рдХреЙрдореНрдкреИрдХреНрдЯ рдлреНрд░реЗрдорд╡рд░реНрдХ рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерди рд╣реИ рдФрд░ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рд╡реЗрдм рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдореЗрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рджреЛрдиреЛрдВ рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХрд╛ рдЖрдХрд╛рд░ рд▓рдЧрднрдЧ 200 рдХрд┐рд▓реЛрдмрд╛рдЗрдЯ рд╣реИ, рд╣рд╛рд▓рд╛рдВрдХрд┐ рдбреЙрдЯрдиреЗрдЯрдЬрд╝рд┐рдк рдХреЗ рд▓рд┐рдП рдореИрдВ "рдХрдо" рд╕рдВрд╕реНрдХрд░рдг рд▓реЗрддрд╛ рд╣реВрдВ, рдкреВрд░реНрдг рд╕рдВрд╕реНрдХрд░рдг рд▓рдЧрднрдЧ 400 рдХрд┐рд▓реЛрдмрд╛рдЗрдЯ рд▓реЗрддрд╛ рд╣реИ, рдЬреЛ рдХрд┐ рджреЛрдЧреБрдирд╛ рд╣реИред рдЕрдм рд╣рдо рд╕реАрдзреЗ рдЯреЗрд╕реНрдЯ рдореЗрдВ рдкрд╛рд╕ рд╣реЛрддреЗ рд╣реИрдВ, ZipStorer рдХреЗ рд╡рд┐рдкрд░реАрдд, рд╣рдо рдбреЗрдЯрд╛ рдХреЛ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░реЗрдВрдЧреЗ, рдФрд░ рд╣рдо рд╕рдВрдкреАрдбрд╝рди рдЕрдиреБрдкрд╛рдд рдФрд░ рдЧрддрд┐ рдХреА рддреБрд▓рдирд╛ рдХрд░реЗрдВрдЧреЗред рд╣рдо рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд╕реНрддрд░ рдХреЗ рд╕рд╛рде рд╕рдВрдЧреНрд░рд╣ рдХрд░реЗрдВрдЧреЗ, DotNetZip рдХреЗ рд▓рд┐рдП CompressionLevel рдЧреБрдг "Default" рдпрд╛ "Level6", рдФрд░ GetLevel () SharpZipLib рдХреЗ рд▓рд┐рдП рд╡рд┐рдзрд┐ "6" рдкрд░ рд╕реЗрдЯ рд╣реИред



рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдореЗрдВ рд╕рдорд╛рди рдирд╛рдо рд╡рд╛рд▓реА рдХрдХреНрд╖рд╛рдПрдВ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рдореИрдВрдиреЗ рд░рд┐рдХреНрдд рд╕реНрдерд╛рди рдХреЛ рдЗрд╕ рддрд░рд╣ рд╕реЗ рдЬреЛрдбрд╝рд╛:

using test1 = Ionic.Zip;

using test2 = ICSharpCode.SharpZipLib.Zip;








DotNetZip рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдВрдЧреНрд░рд╣ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдирд┐рдореНрди рдХреЛрдб рдкрд░реНрдпрд╛рдкреНрдд рд╣реИ:

string ZipFileToCreate = Application.StartupPath + @"\test1.zip" ;

string FileToZip = textBoxFile.Text;

using (test1.ZipFile zip = new test1.ZipFile())

{

test1.ZipEntry ze = zip.AddFile(FileToZip);

zip.Save(ZipFileToCreate);

}




* This source code was highlighted with Source Code Highlighter .






SharpZipLib рдХреЗ рд▓рд┐рдП рдЖрдкрдХреЛ рдХреБрдЫ рдФрд░ рд▓рд┐рдЦрдирд╛ рд╣реЛрдЧрд╛:

string file = textBoxFile.Text;

using (test2.ZipOutputStream s = new test2.ZipOutputStream( File .Create(Application.StartupPath + @"\test2.zip" )))

{

byte [] buffer = new byte [4096];

test2.ZipEntry entry = new test2.ZipEntry(Path.GetFileName(file));

s.PutNextEntry(entry);

using ( FileStream fs = File .OpenRead(file))

{

int sourceBytes;

do

{

sourceBytes = fs.Read(buffer, 0, buffer.Length);

s.Write(buffer, 0, sourceBytes);

} while (sourceBytes > 0);

}

s.Finish();

s.Close();

}




* This source code was highlighted with Source Code Highlighter .






рдореИрдВрдиреЗ рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рдЙрджрд╛рд╣рд░рдгреЛрдВ рд╕реЗ рдХреЛрдб рдХреЗ рджреЛрдиреЛрдВ рдЯреБрдХрдбрд╝реЛрдВ рдХреЛ рд▓рд┐рдпрд╛ рдФрд░ рдЕрдВрддрд░рд┐рдХреНрд╖ рдХреЛ рдмрдЪрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдХреЛ рд╣рдЯрд╛ рджрд┐рдпрд╛ред рдкрд░рд┐рдгрд╛рдо рдЗрд╕ рддрд╛рд▓рд┐рдХрд╛ рдореЗрдВ рдкрд╛рдП рдЬрд╛ рд╕рдХрддреЗ рд╣реИрдВ:



рдкрд░реАрдХреНрд╖рдг рдХреЗ рдкрд░рд┐рдгрд╛рдо



рдкрд░реАрдХреНрд╖рдг рдХреЗ рд▓рд┐рдП рдлрд╛рдЗрд▓реЗрдВ рдХреГрддреНрд░рд┐рдо рд░реВрдк рд╕реЗ рдЙрддреНрдкрдиреНрди рдХреА рдЧрдИ рдереАрдВ, рдЗрд╕рд▓рд┐рдП рдореИрдВ рд░рдЬрд┐рд╕реНрдЯреНрд░рд╛рд░ рдХреА рд╕рд╛рдЗрдЯ рд╕реЗ рдбреЛрдореЗрди рдХреА рдПрдХ рд╕реВрдЪреА рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рддрд╛ рд╣реВрдВ, рдпрд╣ рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдбреЗрдЯрд╛ рдХреЗ рд╕рд╛рде рд╕реНрдерд┐рддрд┐ рдХреИрд╕реЗ рдмрджрд▓ рдЬрд╛рдПрдЧреА, рдореИрдВрдиреЗ рдЬреЛ рд╕рдВрдЧреНрд░рд╣ рдбрд╛рдЙрдирд▓реЛрдб рдХрд┐рдпрд╛ рд╣реИ рд╡рд╣ рдорд╛рдирдХ рд╣реЛрдЧрд╛, рдЗрд╕рдХрд╛ рдЖрдХрд╛рд░ 28,043,005 рдмрд╛рдЗрдЯреНрд╕ рд╣реИ, рдореИрдВ рдбреЗрдЯрд╛ рдирд╣реАрдВ рдирд┐рдХрд╛рд▓реВрдВрдЧрд╛ рд╕рдВрдЧреНрд░рд╣ рд╕реЗ рдФрд░ рджреЛ рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХреЛ рдлрд┐рд░ рд╕реЗ рдЬрд╛рдВрдЪреЗрдВ:



рдкрд░реАрдХреНрд╖рдг рдХреЗ рдкрд░рд┐рдгрд╛рдо



рдирд┐рд╖реНрдХрд░реНрд╖



рдкрд░рд┐рдгрд╛рдореЛрдВ рдХреЗ рдЖрдзрд╛рд░ рдкрд░, DotNetZip рдХреЗ рд▓рд┐рдП рдЧрддрд┐ рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдБ рдмреЗрд╣рддрд░ рд╣реИрдВ, рд▓реЗрдХрд┐рди рд╕рд╛рде рд╣реА рдЗрд╕ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдореЗрдВ рдбреЗрдЯрд╛ рдХрдореНрдкреНрд░реЗрд╢рди рднреА рдмрджрддрд░ рд╣реИ, рдореИрдВ рдЖрдкрдХреЛ рдпрд╛рдж рджрд┐рд▓рд╛ рджреВрдВ рдХрд┐ рдореИрдВрдиреЗ рд╕рдВрдкреАрдбрд╝рди рдЕрдиреБрдкрд╛рдд рдирд╣реАрдВ рдмрджрд▓рд╛ рд╣реИ рдФрд░ рдпрд╣ рджреЛрдиреЛрдВ рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХреЗ рд▓рд┐рдП 6 рдХреЗ рдмрд░рд╛рдмрд░ рд╣реИред рд╡реНрдпрдХреНрддрд┐рдЧрдд рд░реВрдк рд╕реЗ, рдореБрдЭреЗ DotNetZip рдиреЗрддреНрд░рд╣реАрди рдЕрдзрд┐рдХ рдкрд╕рдВрдж рд╣реИ, рдореИрдВ рдЗрд╕ рдкрд░ рдзреНрдпрд╛рди рдХреЗрдВрджреНрд░рд┐рдд рдХрд░реВрдБрдЧрд╛ред рдЗрд╕ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХреЛ 100 рд╣рдЬрд╛рд░ рд╕реЗ рдЕрдзрд┐рдХ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рдиреЗ рдХреА рд╕рдВрдЦреНрдпрд╛ рдмрддрд╛рддреА рд╣реИ рдХрд┐ рдореЗрд░реА рдкрд╕рдВрдж рдЕрдХреЗрд▓реЗ рдирд╣реАрдВ рд╣реИред




All Articles