JAVA 文件的基本操作

 /**
     * 获取指定目录下的所有文件的名字
     * @param path 目标目录路径
     * 
     */
    public static ArrayList<String> getFiles(String path) {
        ArrayList<String> files = new ArrayList<String>();
        File file = new File(path);
        File[] tempList = file.listFiles();
        for (int i = 0; i < tempList.length; i++) {
            if (tempList[i].isFile()) {
                files.add(tempList[i].getName());
            }
        }
        return files;
    }
    
    /**
     * 把一个目录下的所有的文件移动到另外一个目录下
     * @param path 目标目录路径
     * 
     */
    public static void IOCopy(String path,String path1){
    	File file = new File(path);
        File file1 = new File(path1);
        if(!file.exists()){
        	 CAUDAASLog.error(log,file.getName()+"文件不存在");
        }else{
        	 CAUDAASLog.info(log,file.getName()+"文件存在");
        } 
        byte[] b = new byte[(int) file.length()];
        if(file.isFile()){
	        try {
	            FileInputStream is= new FileInputStream(file);
	            FileOutputStream ps= new FileOutputStream(file1);
	            is.read(b);
	            ps.write(b);
	            is.close();
	            ps.close();
	           } catch (Exception e) {
	            e.printStackTrace();
	        }
       }else if(file.isDirectory()){
	        if(!file.exists())
	         file.mkdir();
	        String[] list = file.list();
	        for(int i=0;i<list.length;i++){
	         IOCopy(path+"/"+list[i], path1+"/"+list[i]);
	        }
       }
    }
    /**
     * 删除空目录
     * @param dir 将要删除的目录路径
     */
    public static void doDeleteEmptyDir(String dir) {
        boolean success = (new File(dir)).delete();
        if (success) {
        	CAUDAASLog.info(log,dir+ "目录已删除");
        } else {
        	CAUDAASLog.error(log,dir+ "目录未删除");
        }
    }

    /**
     * 递归删除目录下的所有文件及子目录下所有文件
     * @param dir 将要删除的文件目录
     * @return boolean Returns "true" if all deletions were successful.
     *                 If a deletion fails, the method stops attempting to
     *                 delete and returns "false".
     */
    public static boolean deleteDir(File dir) {
    	try {
	        if (dir.isDirectory()) {
	            String[] children = dir.list();//递归删除目录中的子目录下
	            for (int i=0; i<children.length; i++) {
	            	//删除进入下级目录
	            	CAUDAASLog.info(log,"删除进入下级目录"+dir+"/"+ children[i]);
	                boolean success = deleteDir(new File(dir+"/"+ children[i]));
	                if (!success) {
	                    CAUDAASLog.error(log,"删除文件失败"+dir);
	                    return false;
	                }
	            }
	        }
	        boolean flag = dir.delete();
	        CAUDAASLog.info(log,flag+"dd");//删除文件成功
        	if(flag == true)
        	{
        		CAUDAASLog.info(log,"删除"+dir+"成功");//删除文件成功
        		return true;
        	}
        	else {
        		CAUDAASLog.error(log,"删除"+dir+"失败");
        		return false;
        	}
		} catch (Exception e) {
			CAUDAASLog.error(log, "删除文件出现异常:", e);
            throw e;
		}
       
    }

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值