java中文件和文件夹的复制/删除

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

        File file = new File(delpath);
        // 当且仅当此抽象路径名表示的文件存在且 是一个目录时,返回 true
        if (!file.isDirectory()) {
            file.delete();
        } else if (file.isDirectory()) {
            String[] filelist = file.list();
            for (int i = 0; i < filelist.length; i++) {
                File delfile = new File(delpath + "/" + filelist[i]);
                if (!delfile.isDirectory()) {
                    delfile.delete();
                    System.out.println(delfile.getAbsolutePath() + "删除文件成功");
                } else if (delfile.isDirectory()) {
                    deletefile(delpath + "/" + filelist[i]);
                }
            }
            System.out.println(file.getAbsolutePath() + "删除成功");
            file.delete();
        }
    } catch (FileNotFoundException e) {
        System.out.println("deletefile() Exception:" + e.getMessage());
    }
    return true;
}


/** 
 * 复制整个文件夹内容 
 * @param oldPath String 原文件路径 如:c:/fqf 
 * @param newPath String 复制后路径 如:f:/fqf/ff 
 * @return boolean 
 */ 
 public void **copyFolder**(String oldPath, String newPath) { 
	    try { 
	    (new File(newPath)).mkdirs(); //如果文件夹不存在 则建立新文件夹 
	    File a=new File(oldPath); 
	    String[] file=a.list(); 
	    File temp=null; 
	    for (int i = 0; i < file.length; i++) { 
	    if(oldPath.endsWith(File.separator)){ 
	    temp=new File(oldPath+file[i]); 
	    } 
	    else{ 
	    temp=new File(oldPath+File.separator+file[i]); 
	    } 
	
	    if(temp.isFile()){ 
	    FileInputStream input = new FileInputStream(temp); 
	    FileOutputStream output = new FileOutputStream(newPath + "/" + 
	    (temp.getName()).toString()); 
	    byte[] b = new byte[1024 * 5]; 
	    int len; 
	    while ( (len = input.read(b)) != -1) { 
	    output.write(b, 0, len); 
	    } 
	    output.flush(); 
	    output.close(); 
	    input.close(); 
	    } 
	    if(temp.isDirectory()){//如果是子文件夹 
	    copyFolder(oldPath+"/"+file[i],newPath+"/"+file[i]); 
	    } 
	    } 
	    } 
	    catch (Exception e) { 
	    System.out.println("复制整个文件夹内容操作出错"); 
	    e.printStackTrace(); 
	
	    } 
 }
发布了34 篇原创文章 · 获赞 9 · 访问量 3852

猜你喜欢

转载自blog.csdn.net/weixin_44975322/article/details/103044298
今日推荐