C#对文件操作(基本的读写以及压缩和解压)
来源:互联网 发布:c语言播放音乐linux 编辑:程序博客网 时间:2024/06/04 01:23
主要是针对单个文件进行读写操作和压缩操作:用到的主要C#类有FileStream、FileInfo、StreamWrite、StreamRead、GZipStream。
字符数组和字节数组的转换:
1 byte[] bytedata = new byte[200]; 2 char[] chardata = new char[200]; 3 try 4 { 5 FileStream fs = new FileStream("App.config", FileMode.Open); 6 fs.Seek(0, SeekOrigin.Begin); 7 fs.Read(bytedata, 0, 200); 8 } 9 catch (IOException io)10 {11 Console.WriteLine(io.ToString());12 Console.ReadKey();13 return;14 }15 Decoder dc = Encoding.UTF8.GetDecoder();//创建一个解码器用来对二进制数组解码成字符数组16 dc.GetChars(bytedata, 0, bytedata.Length, chardata, 0);17 Console.WriteLine(chardata);18 Console.ReadKey();19 byte[] byteData;20 char[] charData;21 try22 {23 FileStream fs = new FileStream("Log.txt", FileMode.Create);24 charData = "this is the user first log the software".ToCharArray();25 Encoder e = Encoding.UTF8.GetEncoder();26 byteData = new byte[charData.Length];27 e.GetBytes(charData, 0, charData.Length, byteData, 0, true);28 fs.Seek(0, SeekOrigin.End);29 fs.Write(byteData, 0, byteData.Length);30 }31 catch (IOException io)32 {33 Console.WriteLine(io.ToString());34 Console.ReadKey();35 return;36 }37 Console.ReadKey();
对文件进行压缩和解压(一单个文件为例):
1 string fileName = "CompressedFile.txt"; 2 Console.WriteLine("Please input a word and it will repeate 100 times"); 3 string inputString = Console.ReadLine(); 4 StringBuilder sourceString = new StringBuilder(inputString.Length * 100); 5 for (int i = 0; i < 100; i++) 6 { 7 sourceString.AppendLine(inputString); 8 } 9 string sourceCompresses = sourceString.ToString();10 Console.WriteLine("source data's length is {0}", sourceCompresses.Length);11 try12 {13 CompressedFile(fileName, sourceCompresses);14 Console.WriteLine("Compressed successfully");15 FileInfo fileInfo = new FileInfo(fileName);16 Console.WriteLine("compressed file's length is{0}", fileInfo.Length);17 string loadCompressed = LoadCompressedFile(fileName);18 Console.WriteLine(loadCompressed);19 }20 catch (IOException io)21 {22 Console.WriteLine(io.ToString());23 Console.ReadKey();24 return;25 }26 Console.ReadKey();27 }28 29 private static void CompressedFile(string fileName, string sourceCompress) 30 {31 FileStream fs = new FileStream(fileName, FileMode.Create, FileAccess.Write);32 GZipStream gzCompressedFile = new GZipStream(fs, CompressionMode.Compress);33 StreamWriter sw = new StreamWriter(gzCompressedFile,Encoding.UTF8);34 sw.Write(sourceCompress);35 sw.Close();36 }37 38 private static string LoadCompressedFile(string fileName) 39 {40 FileStream fs = new FileStream(fileName, FileMode.Open, FileAccess.Read);41 GZipStream gzLoadCompressed = new GZipStream(fs, CompressionMode.Decompress);42 StreamReader sr = new StreamReader(gzLoadCompressed,Encoding.UTF8);43 StringBuilder strBuild = new StringBuilder();44 string strReadLine = sr.ReadLine();45 while (!string.IsNullOrEmpty(strReadLine)) 46 {47 strBuild.Append(strReadLine);48 strReadLine = sr.ReadLine();49 }50 return strBuild.ToString();51 }
0 0
- C#对文件操作(基本的读写以及压缩和解压)
- C# 对字符串的压缩和解压
- 对文件压缩解压操作
- 对文件的压缩和解压
- VC 文件的解压和压缩操作
- Java文件的压缩和解压操作
- C# 压缩和解压文件
- 对文件进行解压(压缩流操作)
- C#对*.ini文件的读写操作
- C#对*.ini文件的读写操作
- C#对ini文件的读写操作
- 地图经纬度C#和Javascript的压缩以及解压
- C# GZip对字符串压缩和解压
- C# GZip对字符串压缩和解压
- C#对byte数组压缩和解压
- C# GZip对字符串压缩和解压
- java中对文件解压和压缩的实现
- java程序实现对文件的压缩和解压
- Sqlite3数据库
- NYOJ_1225_Rectangles【dp】
- opencv1.0环境配置
- 批量爬虫——该网址下所有文件
- Java filter中的chain.doFilter详解
- C#对文件操作(基本的读写以及压缩和解压)
- pat 1112. Stucked Keyboard
- C++(存储类)经典!!
- Android NDK 开发(五)AndroidStudio 2.2 NDK的开发环境搭建
- c++(常量)
- 图像处理中的傅里叶变换
- MyBatis--查询缓存--增删改会清空一级缓存
- SwipeRefreshLayout的setColorSchemeColors没效果的原因
- Pybrain学习笔记-4 基于前馈神经网络的分类器