This program will create Zip file from your ordinary file.
using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.IO;
using System.IO.Compression;
using System.IO.IsolatedStorage;
public partial class Directory_compress
: System.Web.UI.Page
{
public void Compress(FileInfo fi)
{
// Get the stream of the source file.
using (FileStream
inFile = fi.OpenRead())
{
// Prevent compressing hidden and already compressed files.
if ((File.GetAttributes(fi.FullName)
& FileAttributes.Hidden)
!= FileAttributes.Hidden & fi.Extension != ".gz")
{
// Create the compressed file.
using (FileStream
outFile = File.Create(fi.FullName + ".gz"))
{
using (GZipStream
Compress = new GZipStream(outFile,
CompressionMode.Compress))
{
// Copy the source file into the compression
stream.
byte[] buffer = new
byte[4096];
int numRead;
while ((numRead = inFile.Read(buffer, 0,
buffer.Length)) != 0)
{
Compress.Write(buffer, 0, numRead);
}
Response.Write("Compressed
From"+ fi.Name+ fi.Length.ToString()+"<br>");
Response.Write("Compress To"+
outFile.Length.ToString()+"<br>");
}
}
}
}
}
public void
Decompress(FileInfo fi)
{
// Get the stream of the source file.
using (FileStream
inFile = fi.OpenRead())
{
// Get original file extension, for example "doc"
from report.doc.gz.
string curFile = fi.FullName;
string origName = curFile.Remove(curFile.Length -
fi.Extension.Length);
//Create the decompressed file.
using (FileStream
outFile = File.Create(origName))
{
using (GZipStream
Decompress = new GZipStream(inFile,
CompressionMode.Decompress))
{
//Copy the decompression stream into the output file.
byte[] buffer = new byte[4096];
int
numRead;
while ((numRead = Decompress.Read(buffer, 0,
buffer.Length)) != 0)
{
outFile.Write(buffer, 0, numRead);
}
Response.Write("Decompressed: {0}"+
fi.Name);
}
}
}
}
protected void
Page_Load(object sender, EventArgs e)
{
// Path to directory of files to compress and decompress.
string dirpath = "D:\\myfolder";
DirectoryInfo di = new
DirectoryInfo(dirpath);
// Compress the directory's files.
foreach (FileInfo fi in di.GetFiles())
{
Compress(fi);
}
// Decompress all *.gz files in the directory.
foreach (FileInfo fi in di.GetFiles("*.gz"))
{
Decompress(fi);
}
}
}
No comments:
Post a Comment