using
system
;using
system
.collections
.generic;
using
system
.text
;using
system.io
;using icsharpcode.sharpziplib.checksums;
using icsharpcode.sharpziplib.zip.compression;
using icsharpcode.sharpziplib.zip.compression.streams;
using icsharpcode.sharpziplib.zip;
namespace playedit.classobj
}catch
finally
if(entry !
=null)gc
.collect();
gc.collect(1);}
folders =
directory
.getdirectories(foldertozip)
;foreach
(string folder in folders)
}return res;
}///
/// 壓縮目錄
///
/// 待壓縮的資料夾,全路徑格式
/// 壓縮後的檔名,全路徑格式
///
private
static
bool zipfiledictory(
string foldertozip,
string zipedfile,
int level)
zipoutputstream s =
new zipoutputstream(
file
.create(zipedfile));
s.setlevel(level)
;res = zipfiledictory(foldertozip, s,"")
;s.finish();
s.close();
return res;
}///
/// 壓縮檔案
///
/// 要進行壓縮的檔名
/// 壓縮後生成的壓縮檔案名
///
private
static
bool zipfile(
string filetozip,
string zipedfile,
int level)
//filestream fs = null;
filestream zipfile =
null
;zipoutputstream zipstream =
null
;zipentry zipentry =
null
;bool res =
true
;try
catch
finally
if(zipstream !
=null)if
(zipfile !
=null)gc
.collect();
gc.collect(1);}
return res;
}///
/// 壓縮檔案 和 資料夾
///
/// 待壓縮的檔案或資料夾,全路徑格式
/// 壓縮後生成的壓縮檔案名,全路徑格式
///
public
static
bool zip(
string filetozip,
string zipedfile,
int level)
elseif(
file
.exists(filetozip)
)else}}
///
/// 解壓類
///
public
class unzipclassif(
!directory
.exists(zipedfolder)
)zipinputstream s =
null
;zipentry theentry =
null
;string filename;
filestream
streamwriter
=null
;try
streamwriter
=file
.create(filename)
;int
size
= 2048;
byte
data
=new
byte
[2048]
;while
(true
)else}}
}}finally
if(theentry !
=null)if
(s !
=null)gc
.collect();
gc.collect(1);}
}}
}
堆,堆在C 中用法
堆有最大堆與最小堆,也有對應的push和pop操作。在最大堆中,最大的元素在堆頂,pop會將最大的元素推出,最小堆則反之。c 中的堆,要基於向量使用。操作基於三個函式std make heap,std push heap,std pop heap,並且要配合push back與pop back使用。...
c 中用new分配記憶體
new的作用和使用方法如下 new的作用在於可以在程式執行階段動態分配記憶體,記憶體的大小在執行時根據需要確定,從而 高效利用記憶體空間。new的使用方法如下 typename pointer name new typename使用時使用者需要指定型別 指標型別和要開闢的記憶體儲存的資料型別 new...
C 中使用者定義的轉換
看到 深度探索 c 物件模型 的第 21頁,在其談到 c struct 在c 中的乙個合理用途時,看到了 c 中使用者定義的轉換的運用。因而回頭將 c primer 中關於使用者定義的轉換的一些細節溫習了一下。1 使用者定義的轉換的必要性 我們希望能夠在 allint 物件和其他 allint 物件...