当前所在位置:珠峰网资料 >> 计算机 >> 计算机等级考试 >> 正文
计算机二级考试指导:java递归实现文件的删除和拷贝
发布时间:2010/3/24 16:28:23 来源:城市学习网 编辑:admin

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