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());
}
}