초기 커밋.
This commit is contained in:
105
DDUtilityApp/TEST/FrmTest01.cs
Normal file
105
DDUtilityApp/TEST/FrmTest01.cs
Normal file
@@ -0,0 +1,105 @@
|
||||
using EIS.Framework.Service.GEM;
|
||||
using JWH;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.ComponentModel;
|
||||
using System.Data;
|
||||
using System.Diagnostics;
|
||||
using System.Drawing;
|
||||
using System.IO;
|
||||
using System.IO.Compression;
|
||||
using System.Linq;
|
||||
using System.Runtime.Serialization.Formatters.Binary;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using System.Windows.Forms;
|
||||
|
||||
namespace DDUtilityApp.TEST
|
||||
{
|
||||
|
||||
public partial class FrmTest01 : Form
|
||||
{
|
||||
|
||||
public string FileName { get; set; }
|
||||
|
||||
public FrmTest01()
|
||||
{
|
||||
InitializeComponent();
|
||||
|
||||
this.SetLayout();
|
||||
this.SetEventHandler();
|
||||
}
|
||||
|
||||
protected void SetLayout()
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
protected void SetEventHandler()
|
||||
{
|
||||
this.button1.Click += Button1_Click;
|
||||
this.button2.Click += Button2_Click;
|
||||
}
|
||||
|
||||
private void Button1_Click(object sender, EventArgs e)
|
||||
{
|
||||
OpenFileDialog dlg = new OpenFileDialog();
|
||||
dlg.InitialDirectory = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments);
|
||||
if (dlg.ShowDialog() != DialogResult.OK) return;
|
||||
|
||||
this.FileName = dlg.FileName;
|
||||
}
|
||||
|
||||
private void Button2_Click(object sender, EventArgs e)
|
||||
{
|
||||
FileInfo file = new FileInfo(this.FileName);
|
||||
Decompress(file);
|
||||
}
|
||||
|
||||
private static string directoryPath = @".\temp";
|
||||
|
||||
public static void Compress(DirectoryInfo directorySelected)
|
||||
{
|
||||
foreach (FileInfo fileToCompress in directorySelected.GetFiles())
|
||||
{
|
||||
using (FileStream originalFileStream = fileToCompress.OpenRead())
|
||||
{
|
||||
if ((File.GetAttributes(fileToCompress.FullName) &
|
||||
FileAttributes.Hidden) != FileAttributes.Hidden & fileToCompress.Extension != ".gz")
|
||||
{
|
||||
using (FileStream compressedFileStream = File.Create(fileToCompress.FullName + ".gz"))
|
||||
{
|
||||
using (GZipStream compressionStream = new GZipStream(compressedFileStream,
|
||||
CompressionMode.Compress))
|
||||
{
|
||||
originalFileStream.CopyTo(compressionStream);
|
||||
}
|
||||
}
|
||||
FileInfo info = new FileInfo(directoryPath + Path.DirectorySeparatorChar + fileToCompress.Name + ".gz");
|
||||
Console.WriteLine($"Compressed {fileToCompress.Name} from {fileToCompress.Length.ToString()} to {info.Length.ToString()} bytes.");
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public static void Decompress(FileInfo fileToDecompress)
|
||||
{
|
||||
using (FileStream originalFileStream = fileToDecompress.OpenRead())
|
||||
{
|
||||
string currentFileName = fileToDecompress.FullName;
|
||||
string newFileName = currentFileName.Remove(currentFileName.Length - fileToDecompress.Extension.Length);
|
||||
|
||||
using (FileStream decompressedFileStream = File.Create(newFileName))
|
||||
{
|
||||
using (GZipStream decompressionStream = new GZipStream(originalFileStream, CompressionMode.Decompress))
|
||||
{
|
||||
decompressionStream.CopyTo(decompressedFileStream);
|
||||
Console.WriteLine($"Decompressed: {fileToDecompress.Name}");
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user