android文件操作相关代码

本文介绍了一种用于复制文件的方法,包括整个目录及其子目录的复制,以及仅复制非子目录文件的功能。通过递归方式实现目录复制,并使用InputStream和OutputStream完成文件内容的拷贝。
1、拷贝某目录下所有的文件(包括子目录):
public int copy(String fromFile, String toFile) 
    { 
        //要复制的文件目录 
        File[] currentFiles; 
        File root = new File(fromFile); 
        //如同判断SD卡是否存在或者文件是否存在 
        //如果不存在则 return出去 
        if(!root.exists()) 
        { 
            return -1; 
        } 
        //如果存在则获取当前目录下的全部文件 填充数组 
        currentFiles = root.listFiles(); 
          
        //目标目录 
        File targetDir = new File(toFile); 
        //创建目录 
        if(!targetDir.exists()) 
        { 
            targetDir.mkdirs(); 
        } 
        //遍历要复制该目录下的全部文件 
        for(int i= 0;i<currentFiles.length;i++) 
        { 
            if(currentFiles[i].isDirectory())//如果当前项为子目录 进行递归 
            { 
                copy(currentFiles[i].getPath() + "/", toFile + currentFiles[i].getName() + "/"); 
                  
            }else//如果当前项为文件则进行文件拷贝 
            { 
                CopySdcardFile(currentFiles[i].getPath(), toFile + currentFiles[i].getName()); 
            } 
        } 
        return 0; 
    } 


2、复制的目录下的所有非子目录(文件夹)文件拷贝
 //文件拷贝   
//要复制的目录下的所有非子目录(文件夹)文件拷贝
    public int CopySdcardFile(String fromFile, String toFile)
    {
          
        try 
        {
            InputStream fosfrom = new FileInputStream(fromFile);
            OutputStream fosto = new FileOutputStream(toFile);
            byte bt[] = new byte[1024];
            int c;
            while ((c = fosfrom.read(bt)) > 0
            {
                fosto.write(bt, 0, c);
            }
            fosfrom.close();
            fosto.close();
            return 0;
              
        catch (Exception ex) 
        {
            return -1;
        }
    

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值