文件File工具类
来源:互联网 发布:更改歌曲属性数据无效 编辑:程序博客网 时间:2024/05/22 03:12
FileUtil.java
package com.lmb.common.util;/** * 文件操作处理模块: * 用于文件对象处理 */import java.io.BufferedInputStream;import java.io.BufferedReader;import java.io.ByteArrayInputStream;import java.io.ByteArrayOutputStream;import java.io.Closeable;import java.io.File;import java.io.FileInputStream;import java.io.FileOutputStream;import java.io.FileReader;import java.io.FileWriter;import java.io.IOException;import java.io.InputStream;import java.io.PrintWriter;import java.io.UnsupportedEncodingException;import org.dom4j.Document;import org.dom4j.DocumentException;import org.dom4j.io.OutputFormat;import org.dom4j.io.SAXReader;import org.dom4j.io.XMLWriter;import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory;import com.lmb.exception.CustomizeException;public class FileUtil { private static final Log log = LogFactory.getLog(FileUtil.class); private static final String DEFAULTENCODING = "UTF-8"; public FileUtil() { super(); } /** * 关闭文件流对象 * * @param is */ public static void closeable(Closeable is) { if (is != null) { try { is.close(); } catch (IOException e) { log.error(e); } } } /** * 关闭XMLWriter对象 * * @param writer */ public static void closeXMLWriter(XMLWriter writer) { if (writer != null) { try { writer.close(); } catch (IOException e) { log.error(e); } } } /** * 根据消息生成Document文档 * * @param msg * @return * @throws CustomizeException */ public static Document buildDocument(String msg) throws CustomizeException { InputStream is = null; Document doc = null; try { is = new ByteArrayInputStream(msg.getBytes(DEFAULTENCODING)); SAXReader reader = new SAXReader(); doc = reader.read(is); } catch (UnsupportedEncodingException e) { throw new CustomizeException(e); } catch (DocumentException e) { throw new CustomizeException(e); } finally { closeable(is); } return doc; } /** * 保存XML文件信息 * * @param filename * @param msg * @throws CustomizeException */ public static void saveXmlFile(String filename, String msg) throws CustomizeException { XMLWriter writer = null; try { File f = new File(filename.substring(0, filename.lastIndexOf(File.separatorChar))); f.mkdirs(); OutputFormat format = OutputFormat.createPrettyPrint(); format.setEncoding(DEFAULTENCODING); writer = new XMLWriter(new FileOutputStream(new File(filename)), format); writer.write(buildDocument(msg)); } catch (IOException e) { throw new CustomizeException(e); } finally { closeXMLWriter(writer); } } /** * 读取XML文件内容 * * @param filename * @return * @throws CustomizeException */ public String readXMLFile(String filename) throws CustomizeException { Document document = null; try { SAXReader reader = new SAXReader(); document = reader.read(new File(filename)); } catch (DocumentException e) { throw new CustomizeException(e); } return document.asXML(); } /** * 保存txt文件 * @param file * @param content * @return */ public static void saveTxtFile(String filename, String content) throws CustomizeException{ PrintWriter print = null; FileWriter fw = null; try { File f = new File(filename.substring(0, filename.lastIndexOf(File.separatorChar))); f.mkdirs(); fw = new FileWriter(filename); print = new PrintWriter(fw); print.write(content); }catch (IOException e) { e.printStackTrace(); }finally{ try { fw.close(); } catch (IOException e) { } print.close(); } } /** * 读取txt文件信息 * * @param filename * @return * @throws CustomizeException */ public static String readTxtFile(String filename) throws CustomizeException{ BufferedReader reader = null; StringBuffer content = new StringBuffer(); try{ reader = new BufferedReader(new FileReader(filename)); String line; while((line = reader.readLine()) != null){ content.append(line); } }catch(IOException e){ throw new CustomizeException(e); }finally{ closeable(reader); } return content.toString(); } /** * 读取文件内容 * @param filename * @return * @throws CustomizeException */ public static byte[] readByteFile(String filename) throws CustomizeException{ byte[] result = null; BufferedInputStream is = null; ByteArrayOutputStream bos = null; try{ is = new BufferedInputStream(new FileInputStream(filename)); bos = new ByteArrayOutputStream(); //读取源文件 result = new byte[is.available()]; is.read(result, 0, result.length); }catch(IOException e){ throw new CustomizeException(e); }finally{ FileUtil.closeable(bos); FileUtil.closeable(is); } return result; } /** * 保存文件 * @param bytes * @param fileName */ public static void saveByteFile(byte[] bytes, String fileName) throws CustomizeException{ FileOutputStream fos=null; try{ fos = new FileOutputStream(fileName,true); fos.write(bytes); fos.flush(); }catch(Exception e){ throw new CustomizeException(e); }finally{ FileUtil.closeable(fos); } }}
更多有关文件操作I/O流的文章请看这里:
I/O流(一)
I/O流(二)
I/O流(三)—对象的序列化和反序列化
I/O流(四)—java如何添加到文件尾
1 0
- File文件工具类
- 文件File工具类
- File文件操作工具类
- File文件简单操作工具类
- 操作文件File/目录Directory的工具类
- Android文件File相关操作的一个工具类
- 一个File工具类
- File工具类
- 生成file 工具类
- file,bitmap工具类
- File操作工具类
- File类工具
- File工具类
- File文件处理工具(不断更新)
- [Android工具类]Android File工具类
- java file操作工具类
- Java File操作工具类
- File(文件类)
- [jQuery] 事件 方法
- github小练习002
- Python Logging模块-配置文件说明
- throw声明
- HDU2051进制转换
- 文件File工具类
- [接口] 中国建设银行接口使用详细说明
- 应用session和application对象设计聊天室
- C#中的自定义异常回顾
- 剩余时光规划
- UVA 11292 勇者斗恶龙
- oracle数据库导入导出cmd命令
- Android保存图片到系统图库
- 子串和(nyoj_44)