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 复制文件夹, 复制文件的主要内容,如果未能解决你的问题,请参考以下文章

android 数据库文件复制

在 NuGet 安装时将文件复制到 Android 项目

C#:在 Android 上复制资产

复制旧项目时,如何让 Android Studio “忘记”旧文件路径? [复制]

为啥我不能在 android 10 中处理文件? [复制]

将文件夹从 Android 应用程序复制到本地 Windows 目录