笑看风云

一切从头开始
posts - 28, comments - 1, trackbacks - 0, articles - 2

文件夹创建,文件夹删除,文件夹拷贝

Posted on 2009-04-11 01:21 笑看风云 阅读(301) 评论(0)  编辑  收藏 所属分类: Java

 

  1package test;
  2
  3import java.io.BufferedReader;
  4import java.io.File;
  5import java.io.FileInputStream;
  6import java.io.FileOutputStream;
  7import java.io.FileReader;
  8
  9import junit.framework.TestCase;
 10
 11public class Filetest extends TestCase {
 12    
 13    // 创建文件夹
 14    public String  creatdir(String dir) {
 15        File dirFile;
 16        boolean bFile;
 17
 18        bFile = false;
 19        //指定创建文件夹的目录和名称
 20        dirFile = new File(dir);
 21        bFile = dirFile.exists();
 22
 23        if (bFile == true{
 24            System.out.println("文件夹已经存在.");
 25        }
 else {
 26            System.out.println("文件夹不存在,开始创建");
 27            bFile = dirFile.mkdirs();
 28            if (bFile == true{
 29                System.out.println("创建文件夹成功!");
 30            }
 else {
 31                System.out.println("创建文件夹失败.");
 32                System.exit(1);
 33            }

 34        }

 35        
 36        return dir;
 37    }

 38
 39    //拷贝文件夹
 40    public void copyDir(File from, File to) {
 41        // 判断需要拷贝到的路径下的文件夹是否存在
 42        if (!to.exists()) {
 43            // 创建文件夹
 44            to.mkdirs();
 45        }

 46        File[] files = from.listFiles();
 47        for (int i = 0; i < files.length; i++{//遍历文件夹
 48            File file1 = files[i];
 49            File file2 = new File(to.getPath() + File.separator
 50                    + files[i].getName());
 51            if (!file1.isDirectory()) //拷贝文件
 52                copyFile(file1, file2);
 53            }
 else {
 54                copyDir(file1, file2);
 55            }

 56        }

 57
 58    }

 59    
 60    //拷贝文件
 61    public void copyFile(File src, File dest) {
 62        try {
 63            System.out.println(src.getAbsoluteFile() + " -> "
 64                    + dest.getAbsoluteFile());
 65            FileInputStream in = new FileInputStream(src);
 66            FileOutputStream out = new FileOutputStream(dest);
 67            byte[] buffer = new byte[1024];
 68            while (in.read(buffer) != -1{
 69                out.write(buffer);
 70            }

 71            out.close();
 72            in.close();
 73            System.out.println("文件拷贝成功");
 74        }
 catch (Exception e) {
 75            System.out.println("文件拷贝失败");
 76        }

 77
 78    }

 79
 80    // 删除文件夹
 81    // param folderPath 文件夹完整绝对路径
 82    public void delFolder(String folderPath) {
 83        try {
 84            this.delAllFile(folderPath); // 删除完里面所有内容(第一步)
 85            String filePath = folderPath;
 86            filePath = filePath.toString();
 87            java.io.File myFilePath = new java.io.File(filePath);
 88            myFilePath.delete(); // 删除空文件夹(第二步)
 89        }
 catch (Exception e) {
 90            e.printStackTrace();
 91        }

 92    }

 93
 94    // 删除指定文件夹下所有文件(第一步)
 95    // param path 文件夹完整绝对路径
 96    public boolean delAllFile(String path) {
 97        boolean flag = false;
 98        File file = new File(path);
 99        // 文件夹是否存在
100        if (!file.exists()) {
101            return flag;
102        }

103        // 如果不是目录
104        if (!file.isDirectory()) {
105            return flag;
106        }

107        String[] tempList = file.list();
108        File temp = null;
109        for (int i = 0; i < tempList.length; i++{//遍历所有文件夹以及里面的文件
110            if (path.endsWith(File.separator)) {  //文件分隔符,各个操作系统不一样,如WIndows的是"\",而Linux的是"/"
111                temp = new File(path + tempList[i]);
112            }
 else {
113                temp = new File(path + File.separator + tempList[i]);
114            }

115            if (temp.isFile()) {//删除文件
116                temp.delete();
117            }

118            if (temp.isDirectory()) {
119                delAllFile(path + "/" + tempList[i]);// 先删除文件夹里面的文件
120                delFolder(path + "/" + tempList[i]);// 再删除空文件夹
121                flag = true;
122            }

123        }

124        return flag;
125    }

126
127    //读文件内容
128    public File readfile(String path) {
129        BufferedReader bufread;
130        String read = "";
131        String readStr = "";
132        File file = new File(path);
133        try {
134            FileReader fileread = new FileReader(file);
135            bufread = new BufferedReader(fileread);
136            while ((read = bufread.readLine()) != null{
137                readStr = readStr + read;
138            }

139            bufread.close();
140        }
 catch (Exception d) {
141            System.out.println(d.getMessage());
142        }

143        System.out.println("###readStr:" + readStr);
144        return file;
145    }

146
147    public void testcopyfile() {
148
149        Filetest t = new Filetest();
150        String a = "D://test1";
151        String b = "D://test2";
152      // t.copyDir(t.readfile(a), t.readfile(b));
153      // t.copyDir(new File(a), new File(b));
154        t.delFolder(a);
155
156    }

157}

158

 


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


网站导航: