android 复制文件夹, 复制文件
Posted 明风的博客
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了android 复制文件夹, 复制文件相关的知识,希望对你有一定的参考价值。
package uusafe;
import android.util.Log;
import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
/**
* Created by darren on 17-7-5.
*/
public class debug
/**
* 复制文件夹
*/
public static boolean copyDirectory(File src, File dest)
if (!src.isDirectory())
return false;
if (!dest.isDirectory() && !dest.mkdirs())
return false;
File[] files = src.listFiles();
for (File file : files)
File destFile = new File(dest, file.getName());
if (file.isFile())
if (!copyFile(file, destFile))
return false;
else if (file.isDirectory())
if (!copyDirectory(file, destFile))
return false;
return true;
/**
* 复制文件
*/
public static boolean copyFile(File src, File des)
if (!src.exists())
Log.e("cppyFile", "file not exist:" + src.getAbsolutePath());
return false;
if (!des.getParentFile().isDirectory() && !des.getParentFile().mkdirs())
Log.e("cppyFile", "mkdir failed:" + des.getParent());
return false;
BufferedInputStream bis = null;
BufferedOutputStream bos = null;
try
bis = new BufferedInputStream(new FileInputStream(src));
bos = new BufferedOutputStream(new FileOutputStream(des));
byte[] buffer = new byte[4 * 1024];
int count;
while ((count = bis.read(buffer, 0, buffer.length)) != -1)
if (count > 0)
bos.write(buffer, 0, count);
bos.flush();
return true;
catch (Exception e)
Log.e("copyFile", "exception:", e);
finally
if (bis != null)
try
bis.close();
catch (IOException e)
e.printStackTrace();
if (bos != null)
try
bos.close();
catch (IOException e)
e.printStackTrace();
return false;
以上是关于android 复制文件夹, 复制文件的主要内容,如果未能解决你的问题,请参考以下文章