梦幻e家人

java咖啡
随笔 - 15, 文章 - 0, 评论 - 11, 引用 - 0
数据加载中……

java读取文件夹下的所有文件夹和文件

package com.borland.samples.welcome;

import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.File;

public class ReadFile {
  public ReadFile() {}

  /**
   * 删除某个文件夹下的所有文件夹和文件
   * @param delpath String
   * @throws FileNotFoundException
   * @throws IOException
   * @return boolean
   */
  public static boolean deletefile(String delpath) throws FileNotFoundException,
      IOException {
    try {

      File file = new File(delpath);
      if (!file.isDirectory()) {
        System.out.println("1");
        file.delete();
      }
      else if (file.isDirectory()) {
        System.out.println("2");
        String[] filelist = file.list();
        for (int i = 0; i < filelist.length; i++) {
          File delfile = new File(delpath + "\\" + filelist[i]);
          if (!delfile.isDirectory()) {
            System.out.println("path=" + delfile.getPath());
            System.out.println("absolutepath=" + delfile.getAbsolutePath());
            System.out.println("name=" + delfile.getName());
            delfile.delete();
            System.out.println("删除文件成功");
          }
          else if (delfile.isDirectory()) {
            deletefile(delpath + "\\" + filelist[i]);
          }
        }
        file.delete();

      }

    }
    catch (FileNotFoundException e) {
      System.out.println("deletefile()   Exception:" + e.getMessage());
    }
    return true;
  }

  /**
   * 删除某个文件夹下的所有文件夹和文件
   * @param delpath String
   * @throws FileNotFoundException
   * @throws IOException
   * @return boolean
   */
  public static boolean readfile(String filepath) throws FileNotFoundException,
      IOException {
    try {

      File file = new File(filepath);
      if (!file.isDirectory()) {
        System.out.println("文件");
        System.out.println("path=" + file.getPath());
        System.out.println("absolutepath=" + file.getAbsolutePath());
        System.out.println("name=" + file.getName());

      }
      else if (file.isDirectory()) {
        System.out.println("文件夹");
        String[] filelist = file.list();
        for (int i = 0; i < filelist.length; i++) {
          File readfile = new File(filepath + "\\" + filelist[i]);
          if (!readfile.isDirectory()) {
            System.out.println("path=" + readfile.getPath());
            System.out.println("absolutepath=" + readfile.getAbsolutePath());
            System.out.println("name=" + readfile.getName());
           
          }
          else if (readfile.isDirectory()) {
            readfile(filepath + "\\" + filelist[i]);
          }
        }

      }

    }
    catch (FileNotFoundException e) {
      System.out.println("readfile()   Exception:" + e.getMessage());
    }
    return true;
  }

  public static void main(String[] args) {
    try {
      readfile("D:/file");
      //deletefile("D:/file");
    }
    catch (FileNotFoundException ex) {
    }
    catch (IOException ex) {
    }
    System.out.println("ok");
  }

}


posted on 2007-06-27 17:33 轩辕 阅读(19699) 评论(3)  编辑  收藏 所属分类: java

评论

# re: java读取文件夹下的所有文件夹和文件  回复  更多评论   

简单递归而已啦~~~
2007-06-29 22:50 | sambomb

# re: java读取文件夹下的所有文件夹和文件  回复  更多评论   

写的好
2007-08-15 11:58 |

# re: java读取文件夹下的所有文件夹和文件[未登录]  回复  更多评论   

递归的妙用,顶~不过发现C#已经封装好了:Directory.Delete("path",true);太爽了!
2012-06-06 21:04 | 123

只有注册用户登录后才能发表评论。


网站导航: