Java创建文件或者文件夹

昨天一师弟突然来问我这个问题:因为我项目打算获取本地的磁盘,当用户点击了文件后,获取他点击的路径,然后在哪创建文件或删除文件什么的

当时想到的是通过递归来实现,整理下思路(ps:因为先前写过Java通过递归来压缩,和解压文件、文件夹)所有印象有点深刻

实现代码:

package DirFolderManager;
import java.io.File;
import java.io.IOException;
/**
 * <p>Title:Demo</p>
 * <p>Description:创建文件或者文件夹</p>
 * <p>Copyright: Copyright (c) VISEC 2015</p>
 * <P>CreatTime: Apr 1 2015 </p>
 * @author Dana丶Li
 * @version 1.0
 */
public class Demo{
    /**
     *创建文件、文件夹{调用makeDir() 递归方法}
     *file.exists() 返回  true  文件、文件夹存在
     *file.exists() 返回 false 文件、文件夹不存在 
     *@ throws IOException
     */
    public static boolean createFile(File file) throws IOException {  
        if(!file.exists()){  
            makeDir(file.getParentFile());  
        }  
        return file.createNewFile();  
    }
    /**
     * 递归方法
     * makeDir() 采用递归方法对文件、文件夹进行遍历创建新文件、新文件夹
     * @param dir
     */
    public static void makeDir(File dir) {  
        if(! dir.getParentFile().exists()) {  
            makeDir(dir.getParentFile());  
        }  
        dir.mkdir();  
    }  
    /**
     * 测试入口
     * @filePath 文件路径 {注:包括文件名以及文件后缀名,createFile(file)直接在文件名之前的路径下创建该文件}
     * @param args
     */
    public static void main(String args[]){  
        String filePath = "D:/temp/a/b/c.txt";  
        File file = new File(filePath);   
        try{
            System.out.println("file.exists()? " + file.exists()); 
            boolean created = createFile(file);  
            System.out.println(created?"File created":"File exists, not created.");  
            System.out.println("file.exists()? " + file.exists());  
        } catch (IOException e) {  
            e.printStackTrace();  
        }  
    }  
}  

 

posted @ 2015-04-02 10:07  小码哥、iByte  阅读(731)  评论(1编辑  收藏  举报