. , , . , , . , , . :
public static class ByteCompression
{
public static Byte[] Compress(Byte[] input);
public static Byte[] Compress(Byte[] input, Format format);
public static Byte[] Compress(Byte[] input, Format format, Level level);
public static Byte[] Decompress(Byte[] input);
public static Byte[] Decompress(Byte[] input, Format format);
}
public static class StringCompression
public static String Compress(String input);
public static String Compress(String input, Format format);
public static String Compress(String input, Format format, Level level);
public static String Decompress(String input);
public static String Decompress(String input, Format format);
}
public static class FileCompression
{
public static void Compress(String input_file_path, String output_file_path);
public static void Compress(String input_file_path, String output_file_path, Format format);
public static void Compress(String input_file_path, String output_file_path, Format format, Level level);
public static void Decompress(String input_file_path, String output_file_path);
public static void Decompress(String input_file_path, String output_file_path, Format format);
}
public static FolderCompression
{
public static void Compress(String input_folder_path, String output_file_path);
public static void Compress(String input_folder_path, String output_file_path, Format format);
public static void Compress(String input_folder_path, String output_file_path, Format format, Level level);
public static void Decompress(String input_file_path, String output_file_path);
public static void Decompress(String input_file_path, String output_file_path, Format format);
}
, , - . , , / . , . , , , , /. .
EDIT:
, andy. , . , : ( ) ( ), API, , .
public static class ByteCompressionExtensions
{
public static byte[] Compress(this byte[] input);
public static byte[] Compress(this byte[] input, Format format);
public static byte[] Compress(this byte[] input, Format format, Level level);
public static byte[] Decompress(this byte[] input);
public static byte[] Decompress(this byte[] input, Format format);
}
byte[] myArray = new byte[] { ... };
byte[] compArray = myArray.Compress();
public static class StringCompressionExtensions
{
public static byte[] Compress(this string input);
public static byte[] Compress(this string input, Format format);
public static byte[] Compress(this string input, Format format, Level level);
public static string Decompress(this byte[] input);
public static string Decompress(this byte[] input, Format format);
}
string myStr = "A string!";
byte[] compArray = myStr.Compress();
myStr = compArray.Decompress();
public static class FileCompressionExtensions
{
public static void Compress(this FileInfo input, FileInfo output);
public static void Compress(this FileInfo input, FileInfo output, Format format);
public static void Compress(this FileInfo input, FileInfo output, Format format, Level level);
public static void Decompress(this FileInfo input, FileInfo output);
public static void Decompress(this FileInfo input, FileInfo output, Format format);
}
FileInfo myFile = new FileInfo(input_file_path);
FileInfo myCompFile = new FileInfo(output_file_path);
myFile.Compress(myCompFile);
myCompFile.Decompress(myFile);
public static class FolderCompressionExtensions
{
public static void Compress(this DirectoryInfo input, DirectoryInfo output);
public static void Compress(this DirectoryInfo input, DirectoryInfo output, Format format);
public static void Compress(this DirectoryInfo input, DirectoryInfo output, Format format, Level level);
public static void Decompress(this DirectoryInfo input, DirectoryInfo output);
public static void Decompress(this DirectoryInfo input, DirectoryInfo output, Format format);
}
DirectoryInfo myDir = new DirectoryInfo(input_folder_path);
DirectoryInfo myCompDir = new DirectoryInfo(output_folder_path);
myDir.Compress(myCompDir);
myCompDir.Decompress(myDir);