編輯:關於Android編程
/**
* 解壓縮含有文件夾的壓縮文件
*
* @param zipFile
* @param folderPath
* @throws ZipException
* @throws IOException
*/
public void upZipFile(File zipFile, String folderPath) throws ZipException,
IOException {
File desDir = new File(folderPath);
if (!desDir.exists()) {
// 創建目標目錄
desDir.mkdirs();
}
ZipFile zf = new ZipFile(zipFile);
for (Enumeration<?> entries = zf.entries(); entries.hasMoreElements();) {
ZipEntry entry = ((ZipEntry) entries.nextElement());
if (entry.isDirectory()) {
String tmpStr = folderPath + File.separator + entry.getName();
tmpStr = new String(tmpStr.getBytes("8859_1"), "GB2312");
File folder = new File(tmpStr);
folder.mkdirs();
} else {
InputStream is = zf.getInputStream(entry);
String str = folderPath + File.separator + entry.getName();
// 轉換編碼,避免中文時亂碼
str = new String(str.getBytes("8859_1"), "GB2312");
File desFile = new File(str);
if (!desFile.exists()) {
// 創建目標文件
desFile.createNewFile();
}
OutputStream os = new FileOutputStream(desFile);
byte[] buffer = new byte[1024];
int realLength;
while ((realLength = is.read(buffer)) > 0) {
os.write(buffer, 0, realLength);
os.flush();
}
is.close();
os.close();
}
}
zf.close();
}
/**
* 解壓縮不含文件夾的壓縮包
*
* @param zipFile
* @param folderPath
* @throws ZipException
* @throws IOException
*/
public void upZipFile(File zipFile, String folderPath) throws ZipException,
IOException {
File desDir = new File(folderPath);
if (!desDir.exists()) {
// 創建目標目錄
desDir.mkdirs();
}
ZipFile zf = new ZipFile(zipFile);
for (Enumeration<?> entries = zf.entries(); entries.hasMoreElements();) {
ZipEntry entry = ((ZipEntry) entries.nextElement());
InputStream is = zf.getInputStream(entry);
String str = folderPath + File.separator + entry.getName();
// 轉換編碼,避免中文時亂碼
str = new String(str.getBytes("8859_1"), "GB2312");
File desFile = new File(str);
if (!desFile.exists()) {
File fileParentDir = desFile.getParentFile();
if (!fileParentDir.exists()) {
// 創建目標文件的父目錄
fileParentDir.mkdirs();
}
// 創建目標文件
desFile.createNewFile();
}
OutputStream os = new FileOutputStream(desFile);
byte[] buffer = new byte[1024];
int realLength;
while ((realLength = is.read(buffer)) > 0) {
os.write(buffer, 0, realLength);
os.flush();
}
is.close();
os.close();
}
zf.close();
}
純色Toolbar滑動最簡單代碼先從最簡單的看起 效果如下所示,toolbar可以伸展AppBarLa
Visual Studio: C++跨平台的移動解決方案Visual Studio (下載地址) 正在迅速成為一個跨平台的C++IDE。我們的目標是讓Visual Stu
前言之前因為項目需求,其中使用到了圖片的單擊顯示取消,圖片平移縮放功能,昨天突然想再加上圖片的旋轉功能,在網上看了很多相關的例子,可是沒看到能同時實現我想要的
要做這種效果1- 整個自定義控件其實就是一個ArcMenu .(半圓形那一圈),左下角的圖標沒有加入進控件中。 2- 我基於他的類改了點。他是將左下角的關閉ic
本文介紹本文是翻譯自Google 官方課程 Building Apps