免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1063 | 回复: 0
打印 上一主题 下一主题

java递归实现文件的删除和拷贝 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2008-08-02 20:46 |只看该作者 |倒序浏览
递归?简单点:程序自己调用自己
实现文件的删除和拷贝,代码如下:
package com.viita;
import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
public class Dptest {
   
    //删除制定文件夹的所有文件及根文件夹
    public void deleteFile(String path) {
        // TODO Auto-generated method stub
        File f = new File(path);
        if(f.isDirectory())
        {
            File[] file = f.listFiles();
            for (File file2 : file) {
                this.deleteFile(file2.toString());
                file2.delete();
            }
        }else
        {
            f.delete();
        }
        f.delete();
    }
   
    //拷贝整个文件夹的方法
    public void copyFiles(String path1, String path2) throws Exception {
        // TODO Auto-generated method stub
        File file = new File(path1);
        if(file.isDirectory())
        {
            File f = new File(path2);
            if(!f.exists()) f.mkdir();
            File[] files = file.listFiles();
            for (File file2 : files) {
                //System.out.println(file2.toString()+"-----"+path2+"/"+file2.getName());
                copyFiles(file2.toString(),path2+"/"+file2.getName());
            }
            
        }else
        {
            copy(path1,path2);
        }
    }
   
    //拷贝单个文件的方法
    public void copy(String path1,String path2) throws IOException {
        // TODO Auto-generated method stub
        
               
        DataInputStream in = new DataInputStream(
                new BufferedInputStream(
                        new FileInputStream(path1)));
        
        byte[] date = new byte[in.available()];
        
        in.read(date);
        
        DataOutputStream out = new DataOutputStream(
                new BufferedOutputStream(
                        new FileOutputStream(path2)));
        out.write(date);
        
        in.close();
        out.close();
    }
    public static void main(String[] args) throws Exception {
        Dptest dp = new Dptest();
        dp.deleteFile("c:/wmpub");
//        dp.copyFiles("c:/新建文件夹", "c:/xiao");
    }
}


本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u2/72940/showart_1101815.html
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP