1、文件或文件夾的複製
/*
* 下面兩個方法不是AsyncTask的接口
*
* copyFileOrDir 目錄複製
* copyFile 文件複製
*/
private void copyFileOrDir(String path) {
AssetManager assetManager = mContext.getAssets();
String assets[] = null;
try {
assets = assetManager.list(path);
//複製單個文件
if (assets.length == 0)
{
copyFile(path);
}
//複製文件夾中的文件到另一個目錄中
else
{
for (int i = 0; i < assets.length; ++i)
{
Log.e("Path",path + "/" + assets[i]);
copyFileOrDir(path + "/" + assets[i]);
}
}
} catch (IOException ex) {
Log.e("tag", "I/O Exception", ex);
}
}
private void copyFile(String filename) {
AssetManager assetManager = mContext.getAssets();
InputStream in = null;
OutputStream out = null;
try {
in = assetManager.open(filename);
String newFileName = SDPath +"/"+filename;
Log.e("here",newFileName);
out = new FileOutputStream(newFileName);
byte[] buffer = new byte[1024];
int read;
while ((read = in.read(buffer)) != -1) {
out.write(buffer, 0, read);
}
in.close();
in = null;
out.flush();
out.close();
out = null;
} catch (Exception e) {
Log.e("copyFile", e.getMessage());
}
}