封装IO的一些常用操作:基于Common-io :IOUtils方法
CommonUtils.java
package com.gbcom.frame.io;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.io.Reader;
import java.util.ArrayList;
import java.util.List;
import org.apache.commons.io.FileUtils;
import org.apache.commons.io.IOUtils;
/**
* 封装IO的一些常用操作:基于Common-io :IOUtils方法
* 1.read.write.copy.delete.convert
*
*
* 无异常 无空指针
* @author SYZ
* @date 2014-12-4,上午10:20:22
* @version v1.0.0
* @see com.gbcom.frame.io.CommonUtils
*/
public class CommonUtils {
private static List<String> readLines(File file) throws IOException{
return readLines(file,"UTF-8");
}
private static List<String> readLines(File file,String encoding) throws IOException{
return FileUtils.readLines(file, encoding);
}
private static List<String> readLines(InputStream input) throws IOException{
return readLines(input,"UTF-8");
}
private static List<String> readLines(InputStream input,String encoding) throws IOException{
return IOUtils.readLines(input, encoding);
}
private static List<String> readLines(Reader read) throws IOException{
return IOUtils.readLines(read);
}
/**
* 读取文件,保存到byte数组中:不需要指定具体编码格式
* @param srcFile
* @return
*/
public static byte[] read(String srcFile){
File file = new File(srcFile);
InputStream input = null;
try{
input = new FileInputStream(file);
return IOUtils.toByteArray(input);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally{
IOUtils.closeQuietly(input);
}
return new byte[0];
}
/**
* 读取文件:保存到String对象中,默认使用utf-8作为编码格式
* @param srcFile
* @return
*/
public static String readAll(String srcFile){
File file = new File(srcFile);
InputStream input = null;
try{
input = new FileInputStream(file);
return IOUtils.toString(input, "utf-8");
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally{
IOUtils.closeQuietly(input);
}
return "";
}
/**
* 读取文件,按行分割保存到list中,默认编码格式为utf-8
* @param srcFile
* @return
*/
public static List<String> readLines(String srcFile){
File file = new File(srcFile);
InputStream input = null;
try {
input = new FileInputStream(file);
return readLines(input,"utf-8");
//IOUtils.readLines(input, encoding);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally{
IOUtils.closeQuietly(input);
}
return new ArrayList<String>(0);
}
/**
* 写文件。最原始的方式,支持 byte数组,无序提供编码格式
* @param srcFile
* @param data
*/
public static void wirte(String srcFile,byte[] data){
File file = new File(srcFile);
OutputStream out = null;
try {
out = new FileOutputStream(file);
IOUtils.write(data, out);
} catch (IOException e) {
e.printStackTrace();
}finally{
if(out !=null){
IOUtils.closeQuietly(out);
}
}
}
/**
* 一次性写入文件,如果需要分行,需要再buffer中使用\n 实现
* @param srcFile
* @param buffer
*/
public static void writeAll(String srcFile,StringBuffer buffer){
File file = new File(srcFile);
OutputStream out = null;
try {
out = new FileOutputStream(file);
IOUtils.write(buffer, out,"utf-8");
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally{
if(out !=null){
IOUtils.closeQuietly(out);
}
}
}
/**
* 写文件:支持多行写入,list提供
* @param srcFile
* @param lines
*/
public static void writeLines(String srcFile,List<String> lines){
File file = new File(srcFile);
OutputStream out = null;
try {
out = new FileOutputStream(file);
IOUtils.writeLines(lines, null, out, "UTF-8");
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally{
if(out !=null){
IOUtils.closeQuietly(out);
}
}
}
/**
* 在文件末尾添加:仅支持
* @param scrFile
* @param Lines
*/
public static void appendWrite(String srcFile,List<String>lines){
File file = new File(srcFile);
OutputStream out = null;
try {
out = new FileOutputStream(file,true);//append
IOUtils.writeLines(lines, null, out, "UTF-8");
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally{
if(out !=null){
IOUtils.closeQuietly(out);
}
}
}
/**
* 在文件末尾添加:仅支持 List 和 StringBuffer 其他省略
* @param scrFile
* @param Lines
*/
public static void appendWrite(String srcFile,StringBuffer buffer ){
File file = new File(srcFile);
OutputStream out = null;
try {
out = new FileOutputStream(file,true);//append
IOUtils.write(buffer, out, "UTF-8");
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally{
if(out !=null){
IOUtils.closeQuietly(out);
}
}
}
/**
* 拷贝文件,,return count failed return -1
* @param src
* @param dest
*/
public static int copy(String src,String dest){
File srcFile = new File(src);
File destFile = new File(dest);
InputStream input = null;
OutputStream output = null;
try {
input = FileUtils.openInputStream(srcFile);
output = new FileOutputStream(destFile);
return IOUtils.copy(input, output);
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally{
if(output !=null){
IOUtils.closeQuietly(output);
}
if(input !=null){
IOUtils.closeQuietly(input);
}
}
return -1;
}
/**
* 支持文件夹操作
* @param dest
*/
public static void delete(String ... dests){
for(String dest : dests){
File file = new File(dest);
try {
FileUtils.forceDeleteOnExit(file);
} catch (IOException e) {
e.printStackTrace();
continue;
}finally{
file = null;
}
}
}
public static void main(String args []) throws IOException{
String dir = "d:\\";
String srcName = "xxx.jpg";
String destName = "test.xds";
// FileUtils.forceMkdir(new File(dir));
//
// copy(dir+File.separator+srcName,dir+File.separator+destName);
delete(dir+File.separator+srcName,dir+File.separator+destName);
}
}
分享到:
相关推荐
Common-io工具类
Apache common io转码工具类入门教程
Commons-IO 包括 工具类 (utility classes), 字节序列类 (endian classes), 行迭代器 (line iterator), 文件过滤器 (file filters),文件比较器 (file comparators) 和 流实现 (stream implementations).
Commons-IO 包括 工具类 (utility classes), 字节序列类 (endian classes), 行迭代器 (line iterator), 文件过滤器 (file filters),文件比较器 (file comparators) 和 流实现 (stream implementations).
commons-io-2.4供大家学习,官网只有最新版。是一款处理io流的工具,封装了很多处理io流和文件的方法,...从common-io的官方使用文档可以看出,它主要分为工具类、尾端类、行迭代器、文件过滤器、文件比较器和扩展流。
commons-io-1.3.2.jar upload2.jsp *" pageEncoding="gb2312"%> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> ...
工具包 common-util: 基础工具包,不依赖于任何jar common-util-ext : 依赖第三方的工具包 common-util-test : 测试用的工具包
平时工作积累封装的一些工具类,包括hibernate底层封装,字符串,日期的转换,缓存,分页,email,tree,log,json,gson,struts2,spring,io等一些常用的工具类,足够满足日常开发了,能帮助开发者提高一些效率.....
基本工具类库和接口。 com.google.common.cache:缓存工具包,非常简单易用且功能强大的JVM内缓存。 com.google.common.collect:带泛型的集合接口扩展和实现,以及工具类,这里你会发现很多好玩的集合。 ...
CommonLibrary主要是自己整理的一些项目开发中常用的工具类、通用UI的集合,目前在不断的更新中,尽可能的覆盖Android开发中通用的一些东西 。 > anim > -- AnimationUtils、ViewAnimationUtils。动画工具类,也可...
├─28个java常用的工具类 │ │ Base64.java │ │ Base64DecodingException.java │ │ CConst.java │ │ CharTools.java │ │ ConfigHelper.java │ │ Counter.java │ │ CTool.java │ │ DateHandler.java ...
1.国际化工具类 2.JDBC工具类,提供数据库连接池,结果集映射成对象功能 ...15.操作系统工具类,可以获取和判断操作系统类型 16.反射工具类 17.Java序列化工具类,支持序列化反序列化,可以用于OSGI环境
WESHOP | 基于微服务的小程序商城系统 --- Weshop是基于Spring Cloud(Greenwich)开发的小程序商城系统,提供整套公共微服务服务模块,包含用户中心、商品中心、订单中心、营销中心四大基础服务模块,微信端、管理...
Commons-Lang 提供了许多许多通用的工具类集,提供了一些java.lang中类的扩展功能 Latka Commons-Latka 是一个HTTP 功能测试包,用于自动化的QA,验收和衰减测试. Launcher Launcher 组件是一个交叉平台的Java 应用...
一个简单的开源Android工具类库,提供许多常用的类帮助我们开发程序。 AndroidCommon 一个简单的开源Android工具类库,提供许多常用的类帮助我们开发程序。 These are the Android Common Utils. Class ...
Spring+SpringMVC+Mybatis框架集成公共模块,包括公共配置、MybatisGenerator扩展插件、通用BaseService、工具类等。 > zheng-admin 基于bootstrap实现的响应式Material Design风格的通用后台管理系统,`zheng`...
Powerful collection utilities(强大的集合工具类): java.util.Collections 中未包含的常用操作工具类 4. Extension utilities(扩展工具类): 给 Collection 对象添加一个装饰器? 实现迭代器? 我们可以更容易...
Java版水果管理系统源码 #XQOO-CLOUD 后台管理系统 ##1.0版本 系统搭建数据库建表脚本在根...commons-io常用工具类 commons-fileupload文件上传工具 rg.jsoup HTML解析器 org.apache.poi 表格文件处理 org.apache.veloc
工具类FileUtils操作文件的工具类 static String readFileToString(File file):读取文件内容,并返回一个String; static void writeStringToFile(File file, String data):将内容content写入到file中; ...
购物中心 前言 mall项目致力于打造一个完整的电商系统,采用现阶段流行技术...├── mall - common -- 工具类及通用代码 ├── mall - mbg -- MyBatisGenerator生成的数据库操作代码 ├── mall - security -- Sprin