当前所在位置:珠峰网资料 >> 计算机 >> 计算机等级考试 >> 正文
java删除和拷贝文件递归实现方法
发布时间:2011/5/10 10:04:02 来源:城市学习网 编辑:ziteng
    java删除和拷贝文件递归实现方法简单点:程序自己调用自己
    实现文件的删除和拷贝,代码如下:
    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();
    }  [NextPage]

    //拷贝整个文件夹的方法
    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");
    }
    }

广告合作:400-664-0084 全国热线:400-664-0084
Copyright 2010 - 2017 www.my8848.com 珠峰网 粤ICP备15066211号
珠峰网 版权所有 All Rights Reserved