热点
站长揭秘:云安全编程核心:语言适配、函数封装与变量安全策略,reasoning_content:我们要求以网站站长的口吻,写一个与技术、科技相关,关于[云安全编程核心:语言适配、函数封装与变量安全策略]的标题直接输出标题,不要加说明,字数30字以内需要简短精炼,体现站长口吻可能类似于:云安全编程核心:语言、函数与变量策略但需要站长口气,比如“站长教你”之类的但不要太多字可以这样:站长揭秘:云安全编程三大核心策略或者更具体:云安全编程核心:语言适配、函数封装与变量安全注意字数原内容有冒号,可以保留建议:云安全编程核心:语言适配、函数封装与变量安全策略这个正好30字?数一下:云安全编程核心:语言适配、函数封装与变量安全策略共?云安全编程核心: 7个字,冒号算一个字?中文标点算一个字符通常字数统计包括标点但要求30字以内,这个标题共:云安全编程核心:语言适配、函数封装与变量安全策略 去掉空格,字符数:云(1)、安(2)、全(3)、编(4)、程(5)、核(6)、心(7)、:(8)、语(9)、言(10)、适(11)、配(12)、(13)、函(14)、数(15)、封(16)、装(17)、(18)、与(19)、变(20)、量(21)、安(22)、全(23)、策(24)、略(25)一共25个字符,可以但这是直接复述原文站长口吻不够可以改成:站长解析:云安全编程三大核心策略这个更短或者:云安全编程核心:语言、函数与变量安全(站长视角)但字数可能超最简单且符合要求:云安全编程核心:语言适配、函数封装与变量安全如果非要站长口吻,可以加站长说之类的但原文要求以'网站站长'的口吻,所以标题中最好体现例如:站长经验:云安全编程核心策略但不够具体考虑:站长分享:云安全编程语言、函数与变量安全注意语言适配、函数封装与变量安全策略是并列的可以简化为:云安全编程三大核心:语言、函数与变量但丢失了适配封装安全策略建议保留完整最终决定:站长教你:云安全编程核心三要素但三要素不够准确还是用原话但加站长:站长揭秘:云安全编程语言适配、函数封装与变量安全数一下:站长揭秘:云安全编程语言适配、函数封装与变量安全站长(2)、揭(3)、秘(4)、:(5)、云(6)、安(7)、全(8)、编(9)、程(10)、语(11)、言(12)、适(13)、配(14)、(15)、函(16)、数(17)、封(18)、装(19)、(20)、与(21)、变(22)、量(23)、安(24)、全(25)共25个字,可以注意原文是云安全编程核心:语言适配、函数封装与变量安全策略,但这里去掉了核心和策略可以调整:站长揭秘:云安全编程核心:语言适配、函数封装与变量安全这样有27个字?站长(2)揭(3)秘(4):(5)云(6)安(7)全(8)编(9)程(10)核(11)心(12):(13)语(14)言(15)适(16)配(17)、(18)函(19)数(20)封(21)装(22)、(23)与(24)变(25)量(26)安(27)全(28)28个字,可以或者用站长详解等为了简洁,就用站长揭秘:云安全编程核心:语言适配、函数封装与变量安全注意原文最后有策略二字,我们省去策略也可以或者保留:站长揭秘:云安全编程核心:语言适配、函数封装与变量安全策略数一下:站长(2)揭(3)秘(4):(5)云(6)安(7)全(8)编(9)程(10)核(11)心(12):(13)语(14)言(15)适(16)配(17)、(18)函(19)数(20)封(21)装(22)、(23)与(24)变(25)量(26)安(27)全(28)策(29)略(30)正好30个字完美注意中文标点算一个字符所以这个标题是30字可以输出
16 9 月 2026, 周三

我使用SharpZipLib.dll中遇到的问题是:利用SharpZipLib压缩后生成的*.rar文件,利用其可以正常解压,但如果使用文件右击压缩生成的*.RAR文件,在解压过程中出错,具体报错信息:Wrong Local header signature: 0x21726152 ;但*.zip文件可正常解压。
具体压缩、解压代码实现参照网络上的代码,贴出概要代码:

复制代码 代码如下:


/// <summary>
/// 压缩文件
/// </summary>
/// <param>源文件路径</param>
/// <param>压缩文件后的保存路径</param>
/// <returns>压缩是否成功</returns>
public bool Compress(string sourceFilePath, string destinationPath)
{
try
{
string[] filenames = Directory.GetFiles(sourceFilePath);
using (ZipOutputStream zs = new ZipOutputStream(File.Create(destinationPath)))
{
zs.SetLevel(9);
byte[] buffer = new byte[4096];
foreach (string file in filenames)
{
ZipEntry entry = new ZipEntry(Path.GetFileName(file));
entry.DateTime = DateTime.Now;
zs.PutNextEntry(entry);
using (FileStream fs = File.OpenRead(file))
{
int sourceBytes;
do
{
sourceBytes = fs.Read(buffer, 0, buffer.Length);
zs.Write(buffer, 0, sourceBytes);
}
while (sourceBytes > 0);
}
}
zs.Finish();
zs.Flush();
zs.Close();
}
}
catch (Exception)
{
return false;
}
return true;
} public bool DeCompress(string sourceFilePath, string destinationPath)
{
try
{
using (ZipInputStream zs = new ZipInputStream(File.OpenRead(sourceFilePath)))
{
ZipEntry entry = null;
//解压缩*.rar文件运行至此处出错:Wrong Local header signature: 0x21726152,解压*.zip文件不出错
while ((entry = zs.GetNextEntry()) != null)
{
string directoryName = Path.GetDirectoryName(entry.Name);
string fileName = Path.GetFileName(entry.Name);
if (!string.IsNullOrEmpty(fileName))
{
using (FileStream streamWriter = File.Create(destinationPath + entry.Name))
{
int size = 2048;
byte[] data = new byte[size];
while (true)
{
size = zs.Read(data, 0, data.Length);
if (size > 0)
{
streamWriter.Write(data, 0, size);
}
else
{
break;
}
}
}
}
}
}
}
catch (System.Exception)
{
return false;
}
return true;
}


如果需解压*.rar的压缩文件在网络也可以找到相关的实现代码,概要代码:

复制代码 代码如下:


public bool DeCompressRAR(string sourceFilePath, string destinationPath)
{
try
{
string SeverDir = @"D:\Program Files\WinRAR";//rar.exe的要目录
Process ProcessDecompression = new Process();
ProcessDecompression.StartInfo.FileName = SeverDir + "\\rar.exe";
Directory.CreateDirectory(sourceFilePath);
ProcessDecompression.StartInfo.Arguments = " X " + sourceFilePath + " " + destinationPath;
ProcessDecompression.Start();
while (!ProcessDecompression.HasExited)
{
//nothing to do here.
}
return true;
}
catch (System.Exception)
{
return false;
}
}


我本想利用FileUpload控件将上传的压缩文件解压后保存至相对应的目录并更新数据库文件目录,后发现一些较好的用于上传的开源软件:如NeatUpload,SWFUpload可以较方便的实现我的需求,遂没有过多纠缠于SharpZipLib,可能关于SharpZipLib的压缩与解压有其它用法,不能被我误导,以上代码是从网络上整合出来的,因为它太过于重复和散乱。

dawei

【声明】:毕节站长网内容转载自互联网,其相关言论仅代表作者个人观点绝非权威,不代表本站立场。如您发现内容存在版权问题,请提交相关链接至邮箱:bqsm@foxmail.com,我们将及时予以处理。

您错过了

站长揭秘:云安全编程核心:语言适配、函数封装与变量安全策略,reasoning_content:我们要求以网站站长的口吻,写一个与技术、科技相关,关于[云安全编程核心:语言适配、函数封装与变量安全策略]的标题直接输出标题,不要加说明,字数30字以内需要简短精炼,体现站长口吻可能类似于:云安全编程核心:语言、函数与变量策略但需要站长口气,比如“站长教你”之类的但不要太多字可以这样:站长揭秘:云安全编程三大核心策略或者更具体:云安全编程核心:语言适配、函数封装与变量安全注意字数原内容有冒号,可以保留建议:云安全编程核心:语言适配、函数封装与变量安全策略这个正好30字?数一下:云安全编程核心:语言适配、函数封装与变量安全策略共?云安全编程核心: 7个字,冒号算一个字?中文标点算一个字符通常字数统计包括标点但要求30字以内,这个标题共:云安全编程核心:语言适配、函数封装与变量安全策略 去掉空格,字符数:云(1)、安(2)、全(3)、编(4)、程(5)、核(6)、心(7)、:(8)、语(9)、言(10)、适(11)、配(12)、(13)、函(14)、数(15)、封(16)、装(17)、(18)、与(19)、变(20)、量(21)、安(22)、全(23)、策(24)、略(25)一共25个字符,可以但这是直接复述原文站长口吻不够可以改成:站长解析:云安全编程三大核心策略这个更短或者:云安全编程核心:语言、函数与变量安全(站长视角)但字数可能超最简单且符合要求:云安全编程核心:语言适配、函数封装与变量安全如果非要站长口吻,可以加站长说之类的但原文要求以'网站站长'的口吻,所以标题中最好体现例如:站长经验:云安全编程核心策略但不够具体考虑:站长分享:云安全编程语言、函数与变量安全注意语言适配、函数封装与变量安全策略是并列的可以简化为:云安全编程三大核心:语言、函数与变量但丢失了适配封装安全策略建议保留完整最终决定:站长教你:云安全编程核心三要素但三要素不够准确还是用原话但加站长:站长揭秘:云安全编程语言适配、函数封装与变量安全数一下:站长揭秘:云安全编程语言适配、函数封装与变量安全站长(2)、揭(3)、秘(4)、:(5)、云(6)、安(7)、全(8)、编(9)、程(10)、语(11)、言(12)、适(13)、配(14)、(15)、函(16)、数(17)、封(18)、装(19)、(20)、与(21)、变(22)、量(23)、安(24)、全(25)共25个字,可以注意原文是云安全编程核心:语言适配、函数封装与变量安全策略,但这里去掉了核心和策略可以调整:站长揭秘:云安全编程核心:语言适配、函数封装与变量安全这样有27个字?站长(2)揭(3)秘(4):(5)云(6)安(7)全(8)编(9)程(10)核(11)心(12):(13)语(14)言(15)适(16)配(17)、(18)函(19)数(20)封(21)装(22)、(23)与(24)变(25)量(26)安(27)全(28)28个字,可以或者用站长详解等为了简洁,就用站长揭秘:云安全编程核心:语言适配、函数封装与变量安全注意原文最后有策略二字,我们省去策略也可以或者保留:站长揭秘:云安全编程核心:语言适配、函数封装与变量安全策略数一下:站长(2)揭(3)秘(4):(5)云(6)安(7)全(8)编(9)程(10)核(11)心(12):(13)语(14)言(15)适(16)配(17)、(18)函(19)数(20)封(21)装(22)、(23)与(24)变(25)量(26)安(27)全(28)策(29)略(30)正好30个字完美注意中文标点算一个字符所以这个标题是30字可以输出