做项目时如果遇到文件处理,经常会遇到文件目录不存在这个问题,因为它不是业务处理的核心部分,
起码我是不想花时间去检查目录有没有,需不需要我自己去创建?
但这个微小的事情又经常能让程序报错,每次自己去创建的话也觉得这些代码是冗余的,影响程序核心业务阅读性
最终我在项目中使用了spring的InitializingBean接口来做一些初始化操作
package org.springframework.beans.factory; public interface InitializingBean { void afterPropertiesSet() throws Exception; }
为了增加阅读性,并没有直接实现这个接口 ,而是先继承这个接口
/** * 文件目录初始化接口 * @author wengjc * */ public interface FileInitIF extends InitializingBean { }
接下来就可以写一个目录父类
/** * 创建文件通用父类 * @author wengjc * */ public class Dir implements FileInitIF { private static Logger log = Logger.getLogger(Dir.class); @Override public void afterPropertiesSet() throws Exception { Field[] fields = this.getClass().getFields(); for (int i = 0; i < fields.length; i++) { String path = null; try { path = (String) fields[i].get(this); if (null != path) { FileUtil.createDir(path); } } catch (IllegalArgumentException e) { log.error(path+"创建文件目录失败:"+e.getMessage()); } catch (IllegalAccessException e) { log.error(path+"创建文件目录失败:"+e.getMessage()); } } } }业务DIR继承通用父类,并配置好目录即可在spring factory初始化时完成自动创建,开发人员可以更专注于业务