package com.baidu.disconf.core.common.utils; import java.io.File; import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; import java.io.Reader; import java.io.Writer; import org.slf4j.Logger; import org.slf4j.LoggerFactory; /** * 文件操作的方法集 * * @author liaoqiqi * @version 2014-8-20 */ public final class FileUtils extends org.apache.commons.io.FileUtils { private static final Logger logger = LoggerFactory.getLogger(FileUtils.class); private FileUtils() { } /** * 关闭文件流 */ public static final void closeWriter(Writer w) { if (w != null) { try { w.close(); } catch (Exception e) { logger.warn(e.toString()); } } } /** * 关闭文件流 */ public static final void closeReader(Reader r) { if (r != null) { try { r.close(); } catch (Exception e) { logger.warn(e.toString()); } } } /** * 关闭文件流 */ public static final void closeOutputStream(OutputStream os) { if (os != null) { try { os.close(); } catch (Exception e) { logger.warn(e.toString()); } } } /** * 关闭文件流 */ public static final void closeInputStream(InputStream is) { if (is != null) { try { is.close(); } catch (Exception e) { logger.warn(e.toString()); } } } /** * 使用jar包:commons-codec-1.4.jar的md5比较方法 <br/> * http://blog.csdn.net/very365_1208/article/details/8824033 * * @param oldName * @param newName * * @return */ public static boolean isFileUpdate(String oldName, String newName) { return isFileEqual(new File(oldName), new File(newName)); } /** * http://blog.csdn.net/very365_1208/article/details/8824033 * http://www.avajava.com/tutorials/lessons/whats-a-quick-way * -to-tell-if-the-contents-of-two-files-are-identical-or-not.html * * @param oldFile * @param newFile * * @return */ public static boolean isFileEqual(File oldFile, File newFile) { try { return contentEquals(oldFile, newFile); } catch (IOException e) { logger.warn(e.toString()); return false; } } }