當前位置:首頁 » 文件管理 » zc解壓舊版

zc解壓舊版

發布時間: 2025-01-27 22:35:28

㈠ c#壓縮解壓 文件夾

我在做項目的時候需要將文件進行壓縮和解壓縮,於是就從http://www.icsharpcode.net下載了關於壓縮和解壓縮的源碼,但是下載下來後,面對這么多的代碼,一時不知如何下手。只好耐下心來,慢慢的研究,總算找到了門路。針對自己的需要改寫了文件壓縮和解壓縮的兩個類,分別為ZipClass和UnZipClass。其中碰到了不少困難,就決定寫出來壓縮和解壓的程序後,一定把源碼貼出來共享,讓首次接觸壓縮和解壓縮的朋友可以少走些彎路。下面就來解釋如何在C#里用http://www.icsharpcode.net下載的SharpZipLib進行文件的壓縮和解壓縮。

首先需要在項目里引用SharpZipLib.dll。然後修改其中的關於壓縮和解壓縮的類。實現源碼如下:

/// <summary>
/// 壓縮文件
/// </summary>

using System;
using System.IO;

using ICSharpCode.SharpZipLib.Checksums;
using ICSharpCode.SharpZipLib.Zip;
using ICSharpCode.SharpZipLib.GZip;

namespace Compression
{
public class ZipClass
{

public void ZipFile(string FileToZip, string ZipedFile ,int CompressionLevel, int BlockSize)
{
//如果文件沒有找到,則報錯
if (! System.IO.File.Exists(FileToZip))
{
throw new System.IO.FileNotFoundException("The specified file " + FileToZip + " could not be found. Zipping aborderd");
}

System.IO.FileStream StreamToZip = new System.IO.FileStream(FileToZip,System.IO.FileMode.Open , System.IO.FileAccess.Read);
System.IO.FileStream ZipFile = System.IO.File.Create(ZipedFile);
ZipOutputStream ZipStream = new ZipOutputStream(ZipFile);
ZipEntry ZipEntry = new ZipEntry("ZippedFile");
ZipStream.PutNextEntry(ZipEntry);
ZipStream.SetLevel(CompressionLevel);
byte[] buffer = new byte[BlockSize];
System.Int32 size =StreamToZip.Read(buffer,0,buffer.Length);
ZipStream.Write(buffer,0,size);
try
{
while (size < StreamToZip.Length)
{
int sizeRead =StreamToZip.Read(buffer,0,buffer.Length);
ZipStream.Write(buffer,0,sizeRead);
size += sizeRead;
}
}
catch(System.Exception ex)
{
throw ex;
}
ZipStream.Finish();
ZipStream.Close();
StreamToZip.Close();
}

public void ZipFileMain(string[] args)
{
string[] filenames = Directory.GetFiles(args[0]);

Crc32 crc = new Crc32();
ZipOutputStream s = new ZipOutputStream(File.Create(args[1]));

s.SetLevel(6); // 0 - store only to 9 - means best compression

foreach (string file in filenames)
{
//打開壓縮文件
FileStream fs = File.OpenRead(file);

byte[] buffer = new byte[fs.Length];
fs.Read(buffer, 0, buffer.Length);
ZipEntry entry = new ZipEntry(file);

entry.DateTime = DateTime.Now;

// set Size and the crc, because the information
// about the size and crc should be stored in the header
// if it is not set it is automatically written in the footer.
// (in this case size == crc == -1 in the header)
// Some ZIP programs have problems with zip files that don't store
// the size and crc in the header.
entry.Size = fs.Length;
fs.Close();

crc.Reset();
crc.Update(buffer);

entry.Crc = crc.Value;

s.PutNextEntry(entry);

s.Write(buffer, 0, buffer.Length);

}

s.Finish();
s.Close();
}
}
}

現在再來看看解壓文件類的源碼

/// <summary>
/// 解壓文件
/// </summary>

using System;
using System.Text;
using System.Collections;
using System.IO;
using System.Diagnostics;
using System.Runtime.Serialization.Formatters.Binary;
using System.Data;

using ICSharpCode.SharpZipLib.BZip2;
using ICSharpCode.SharpZipLib.Zip;
using ICSharpCode.SharpZipLib.Zip.Compression;
using ICSharpCode.SharpZipLib.Zip.Compression.Streams;
using ICSharpCode.SharpZipLib.GZip;

namespace DeCompression
{
public class UnZipClass
{
public void UnZip(string[] args)
{
ZipInputStream s = new ZipInputStream(File.OpenRead(args[0]));

ZipEntry theEntry;
while ((theEntry = s.GetNextEntry()) != null)
{

string directoryName = Path.GetDirectoryName(args[1]);
string fileName = Path.GetFileName(theEntry.Name);

//生成解壓目錄
Directory.CreateDirectory(directoryName);

if (fileName != String.Empty)
{
//解壓文件到指定的目錄
FileStream streamWriter = File.Create(args[1]+theEntry.Name);

int size = 2048;
byte[] data = new byte[2048];
while (true)
{
size = s.Read(data, 0, data.Length);
if (size > 0)
{
streamWriter.Write(data, 0, size);
}
else
{
break;
}
}

streamWriter.Close();
}
}
s.Close();
}
}
}

有了壓縮和解壓縮的類以後,就要在窗體里調用了。怎麼?是新手,不會調用?Ok,接著往下看如何在窗體里調用。

首先在窗體里放置兩個命令按鈕(不要告訴我你不會放啊~),然後編寫以下源碼

/// <summary>
/// 調用源碼
/// </summary>

private void button2_Click_1(object sender, System.EventArgs e)
{
string []FileProperties=new string[2];
FileProperties[0]="C:\\unzipped\\";//待壓縮文件目錄
FileProperties[1]="C:\\zip\\a.zip"; //壓縮後的目標文件
ZipClass Zc=new ZipClass();
Zc.ZipFileMain(FileProperties);
}

private void button2_Click(object sender, System.EventArgs e)
{
string []FileProperties=new string[2];
FileProperties[0]="C:\\zip\\test.zip";//待解壓的文件
FileProperties[1]="C:\\unzipped\\";//解壓後放置的目標目錄
UnZipClass UnZc=new UnZipClass();
UnZc.UnZip(FileProperties);
}

好了,到此為止,如何壓縮和解壓縮的類都已經完成了,需要的朋友直接拿走調吧。

㈡ C++語言怎麼用zlib庫來解壓.ISO或.zip文件

下面是使用zlib庫的壓縮和解壓縮演示代碼:

#include <stdlib.h>
#include <stdio.h>
#include <zlib.h>
int main(int argc, char* argv[])
{
FILE* file;
uLong flen;
unsigned char* fbuf = NULL;
uLong clen;
unsigned char* cbuf = NULL;
/* 通過命令行參數將srcfile文件的數據壓縮後存放到dstfile文件中 */
if(argc < 3)
{
printf("Usage: zcdemo srcfile dstfile\n");
return -1;
}
if((file = fopen(argv[1], "rb")) == NULL)
{
printf("Can\'t open %s!\n", argv[1]);
return -1;
}
/* 裝載源文件數據到緩沖區 */
fseek(file, 0L, SEEK_END);    /* 跳到文件末尾 */
flen = ftell(file);        /* 獲取文件長度 */
fseek(file, 0L, SEEK_SET);
if((fbuf = (unsigned char*)malloc(sizeof(unsigned char) * flen)) == NULL)
{
printf("No enough memory!\n");
fclose(file);
return -1;
}
fread(fbuf, sizeof(unsigned char), flen, file);
/* 壓縮數據 */
clen = compressBound(flen);
if((cbuf = (unsigned char*)malloc(sizeof(unsigned char) * clen)) == NULL)
{
printf("No enough memory!\n");
fclose(file);
return -1;
}
if(compress(cbuf, &clen, fbuf, flen) != Z_OK)
{
printf("Compress %s failed!\n", argv[1]);
return -1;
}
fclose(file);
if((file = fopen(argv[2], "wb")) == NULL)
{
printf("Can\'t create %s!\n", argv[2]);
return -1;
}
/* 保存壓縮後的數據到目標文件 */
fwrite(&flen, sizeof(uLong), 1, file);    /* 寫入源文件長度 */
fwrite(&clen, sizeof(uLong), 1, file);    /* 寫入目標數據長度 */
fwrite(cbuf, sizeof(unsigned char), clen, file);
fclose(file);
free(fbuf);
free(cbuf);
return 0;
}

㈢ 為什麼攝像頭打不開啊

首先,先卸載你原來的程序
卸載方法:右擊「我的電腦」-「屬性」-「硬體」-「設備管理器」或者直接按Ctrl+F1,然後打開「通用串列匯流排控制器」,把下面的"Usb Root Hub"都刪除掉。
還有就是打開「控制面板」的「添加刪除程序」有沒有攝像頭的應用程序如vm301的程序卸載掉
2、然後重新啟動,重啟之後就會找到新硬體,這時不要選擇自動安裝,然後點擊「下一步」,然後把「搜索軟盤、CD rom」打鉤,其它的有鉤的通通去掉。並且放上光碟,不要從光碟里安裝驅動。讓系統自動搜索。
這樣就可以安裝成功了。
一、 驅動不容易安裝的原因
1、 目前市面上流行的中星微攝像頭驅動版本很多,許多用戶在安裝卸載驅動過程中殘留有垃圾文件在系統注冊表裡面,造成後面的驅動更新過程中安裝困難;
2、 目前市面上存在著一種克隆操作系統,裡面集成了中星微舊版並同過了WHQL的驅動,當用戶安裝新買的攝像頭或更新最新驅動後,攝像頭無法正常工作;
方法一、自動卸載方法
步驟一、點擊開始菜單中對應驅動的Uninstall卸載,(有可能Uninstall的功能已經破壞,那麼可以通過安裝新驅動進行反安裝,系統會首先將舊驅動卸載掉,同樣也可以達到目的。)
步驟二、在新的驅動安裝前選擇附件中以下相對應的可執行文件:
FOR_XP_ME_98.EXE 用於Windows XP/ME/98
FOR_Win2K.EXE 用於Windows 2000
(注意:該工具要求系統的默認路徑是C盤才有效,在Windows ME/98操作系統下如出現錯誤對話框,表示系統已經干凈了,該工具不會對已經安裝的驅動產生危害)
步驟三、安裝新的驅動
方法二、手動卸載方法
步驟一、在我的電腦-工具-文件夾選項-查看中將隱藏文件和文件夾選擇為「選擇所有文件和文件夾
然後到C:\Windows\inf文件夾中將所有的OEM文件(如oem0.inf,oem0.pnf;oem1.inf,oem1.pnf…)剪切並轉移到另外的目錄中保存或者手動刪除掉該攝像頭對應的oem文件
步驟二、完成上面的步驟後,插入USB攝像頭,這時電腦會發現新硬體並彈出安裝驅動的信息,選擇取消,然後用滑鼠右鍵點擊我的電腦,選擇屬性,在彈出系統屬性界面中,進入系統屬性-硬體-設備管理器將帶有感嘆號的PC CAMERA按滑鼠右鍵卸載;
步驟三、拔除攝像頭,開始安裝新的驅動。
針對以上第二種現象
步驟一、克隆操作系統是將攝像頭驅動默認存放在C:\Windows\Driver\Camera\301P文件夾下面,當你點擊新的攝像頭驅動光碟安裝時,系統不會提示已經存在有攝像頭驅動並把此驅動卸載,請把這個文件夾找到並刪除掉;
步驟二、先安裝新的攝像頭驅動,再插上攝像頭裝載硬體,安裝完成後重新啟動電腦後可以正常使用;
步驟三、不需重復以上兩個步驟,直接點擊新的光碟安裝最新的驅動,插上攝像頭後系統檢測到新硬體,並自動完成硬體驅動裝載;
步驟四、進入到設備管理器中,,可以看到圖像處理設備已經成功安裝,但當你打開「AMCAP」預覽圖像時會出現無法預覽、白屏、黑屏現象;
步驟五、把滑鼠右鍵放在圖像處理設備的「Vimicro USB PC Camera(ZC0301PL)」更新驅動程序,出現對話框後選擇「從列表或指定為位置安裝
步驟六選擇下一步後選擇「不要搜索」,進入「從軟盤安裝」界面。
步驟七:點擊瀏覽,將路徑指向驅動光碟目錄或最新驅動目錄下面的「usbvm31b.inf」步驟八:一直點擊「下一步」完成驅動安裝

㈣ 手機卡刷機怎麼刷

安卓手機如何用卡刷機
進入Recovery方法:先把機器關掉(拔電池再插上)、接著插上數據線或充電器(機器液晶顯示正在充電)、然後按著音量鍵「+」與音量鍵「-」加關機或開機鍵(同時按著三至五秒)

Recovery操作方法:電源關機鍵為確認,音量鍵+為上,音量鍵-為下

刷ROM1、下載自己機型的ROM包,放到手機SD卡中,關機進入recovery 模式

2、如果recovery版本是中文的,選擇『清空所有數據』 和『清空所有緩存』這兩個選項;如果沒有recovery版本為英文的話選擇『wipe data/factory reset』和『wipe cache partition』這兩個選項

3、進入後,選擇帶有「是」或者「YES」的項

4、返回recovery主界面,中文版選擇「從sd卡選擇刷機包」;英文版的選擇「install zip from sdcard」

5、再選擇「從SD卡選擇zip刷機包」;英文版的為第一個選項「choose zip form sdcard」

6、找到SD卡中你所要刷的那個ROM包,xxxxx.zip

7、確定後,開始刷機,等待刷機完成,中文提示「刷機完成」;英文版提示「Install from sdcard plete 」

8、返回recovery主界面,選擇「立即重啟系統」;英文版「reboot system now」

刷完機後第一次開機會比較慢,請耐心等待。
手機卡死了怎麼刷機啊
要是安卓機 你關機狀態音量加減 和電源鍵 一起按住 不松
安卓手機刷機怎麼刷
刷機很容易的。線刷、卡刷都行,看你下載的rom後綴名。後綴名為zip的,可以線刷,也可以卡刷,dar、md5是線刷。一、卡刷是把rom復制到SD卡,關機後按音量鍵「+」和home鍵,再按住電源鍵,有界面了就按音量「+」或「-」選擇「apply upd from external storage」(從外部的存儲應用中進行更新),按電源鍵確認;以音量「+」或「-」選擇SD卡上的刷機room(可以在菜單里看到你復制到SD卡根目錄下的刷機rom),按電源鍵確認。刷完自動滾動到recovery界面,按音量「+」或「-」選擇「reboot system now」(重啟系統);

二、線刷

1、用刷機大師獲取ROM許可權;

2、勾選「未知來源」、勾選「USB調試」;

3、用刷機大師備份數據;

4、用91手機助手、豌豆莢安裝手機驅動;

5、關機狀態,按住音量鍵「-」和home鍵,再按住電源鍵,有界面了就按音量「+」;

6、手機與電腦連接(數據線);

7、啟動odin刷機工具軟體,當ID:(埠號),即第三行第一個空框出現黃色時,點擊PDA,載入「I9100GZCLPL_I9100GZCLPL_I9100GOZHLPL_HOME.tar.md5」,再點擊「開始」(start),當第一行第一個大空框出現綠色「PASSI」字樣,說明刷機成功!

三、用刷機大師(可以省去卡刷zip刷機ROM的麻煩)

1、啟動刷機大師;

2、備份數據;

3、點擊「一鍵刷機」

4、載入zip手機ROM包

5、開始刷機。
手機怎麼重新刷機?
刷機方法需要以手機實際故障而定。

以卡刷為例):用內存卡(SD、TF之類)來刷機,

卡刷流程:

1,先下載一個對應閥型的卡刷刷機包(可以到官方,ROM之家或ROM基地下載)。

2,把下載的刷機包直接放在SD卡的根目錄。

3,關機,卸掉SIM卡,內存卡裝好,建議內存卡里重要東西要備份。

4,關機時,同時按開機按鍵和音量加鍵,大概十秒鍾,然後放手。

5,進入recovery模式即REC模式。

6,選wipe cache partition 清理緩存。

7,完成清理緩存後選wipe data/factory ,恢復出廠設置。

8,先選擇「install zip from sdcard」,電源鍵確定,再選擇apply sdcard:update ,電源鍵確定,就是從內存卡里選擇刷機包進行刷機,耐心等待完成。
手機死機後該如何刷機
可以

卡刷線刷都可以,只要你能在網路搜索到與你手機品牌機型相一致的刷機包

卡刷

第一步:下載你需要卡刷的文件,解壓得到zip格式的文件,然後放到TF內存卡根目錄下。然後關機,拿出電池10秒後,再放回去,按住音量+,再按開機鍵,就進去卡刷模式了

第二步:音量鍵為上下,開機鍵為選擇,刷機的時候選擇「從SD卡選擇更新」

第三步:選擇「從SD選擇升級包更新

第四步:選擇你下載的刷機包,驅動,或者補丁文件(注意文件包不能有中文名)

第五步:選擇「是」就開機刷機了

刷機完之後還應該恢復一下出廠設置

提示:用卡刷如果系統自帶的recovery工程模式不完整,需要手動刷入與手機品牌機型相一致的第三方recovery工程模式。刷入第三方recovery,需要找到與手機品牌機型一致的recovery文件,在已經獲取到ROOT許可權的手機上,打開USB調試,用數據線把電腦連接手機,把第三方recovery文件復制到手機的SD卡卡根,然後在手機上安裝移動叔叔工具箱軟體,更新recovery,導入,一路確定,手機重啟。即可進入recovery工程模式進行刷機了。

線刷

打開電腦在網路搜聯想的品牌官網,看看有沒有與你的手機機型一致的線刷包,然後手機關機用數據線連接到電腦,卸下手機電池,按手機的開機鍵(或開機鍵+音量鍵)安裝驅動,然後在電腦上運行刷機平台,載入刷機資料,點擊開始刷機,帶進度條滿格,刷機即告完成。
酷派大神手機最簡單的刷機怎樣刷
【刷機教程】介紹兩種方法

(1)一鍵刷機。

使用刷機軟體一鍵刷機,例如刷機助手,很簡單,注意備份。

(2)卡刷

按常規卡刷流程刷入即可,注意刷第三方rec,刷入包之前要雙清,電池電量,可用內存!

卡刷步驟如下:

第一步:導入第三方Recovery(想刷第三方rom,第三方 Recovery不可或缺;如果前面已經刷過三方recovery,就不需要再刷了)。

第二步:刷第三方ROM包(卡刷)1. 下載ROM包,無需解壓,復制到SD卡根目錄或者內置卡;

2. 進入Recovery模式

2.1 關機狀態下,按住音量上+開機鍵開機,並按住兩鍵不放,直到進入Recovery;

2.2 開機狀態下,選擇「重新啟動」後,按住音量鍵上不放,即可進入 recovery模式;

3. wipe data/factory reset(清空所有數據) (音量鍵控制上下,電源鍵確定,以下同)

4. Yes

5. wipe cache partition(清空緩存數據)

6. Yes

7. install zip from sdcard(從SD卡選擇刷機包)

8. choose zip from sdcard(從SD卡選擇ZIP文件)

9. 找到安裝包,開刷

10 最後選擇重啟手機,恭喜刷機成功! (首次開機需要2-3分鍾左右,請耐心等待)

刷機包下載shuajijia
為什麼安卓手機越用越卡?刷機了還是很卡呢?
硬體磨損
無卡手機刷機怎麼刷?
您好,三星官網沒有提供刷機軟體。由於刷機存在風險,如因自行刷機後導致的手機問題,還有可能會影響包修,因此我們不建議您自行刷機。

若手機因系統故障無法正常使用或自行刷機後導致手機出現問題,建議您將機器送到三星售後服務中心,由工程師幫助檢查處理。
手機刷機不使內存卡怎麼刷
手機進入recovery模式進行刷機:關機狀態下長按Home鍵和關機鍵。如果長按後出現一個嘆號和手機圖片,原因是recovery版本較舊,這時同時按接聽和掛機鍵,然後再按Home鍵和關機鍵可進入recovery模式。如果出現這種情況,建議升級recovery到1.6.2。

進入recovery模式後,先執行WIPE,把所有選項都WIPE一遍,然後進入flash zip from sdcard,按照說明的順序開刷。

提示:刷機之前記得先備份聯系人和簡訊以及其它重要文檔。
我手機是在移動營業廳領的很卡我想刷機怎麼刷是4g的 30分
移動營業廳領的手機

具體是什麼機型

可以去安卓論壇搜索對應教程

熱點內容
asp緩存類 發布:2025-01-29 08:29:58 瀏覽:633
plc三菱編程軟體下載 發布:2025-01-29 08:17:35 瀏覽:688
伺服器系統有什麼要求 發布:2025-01-29 07:57:49 瀏覽:105
編程課的網站 發布:2025-01-29 07:43:54 瀏覽:189
win7不能訪問共享列印機 發布:2025-01-29 07:36:10 瀏覽:656
網站資料庫更新 發布:2025-01-29 07:36:10 瀏覽:560
為什麼安卓虛擬機 發布:2025-01-29 07:35:34 瀏覽:964
安卓手機為什麼會無緣無故就關機 發布:2025-01-29 07:29:52 瀏覽:977
數據存儲有哪幾種 發布:2025-01-29 07:21:21 瀏覽:753
sql自定義查詢 發布:2025-01-29 07:13:39 瀏覽:615