/** * @Title: TxtAndCsvUtils.java * @Package cn.com.qmhd.tools * @Description: TODO(读取txt和CSV文档) * @author CLL * @date 2014-11-29 下午01:27:26 * @version V1.0 */ package cn.com.qmhd.tools; import java.io.BufferedReader; import java.io.File; import java.io.FileInputStream; import java.io.InputStreamReader; import java.util.ArrayList; import java.util.List; public class TxtAndCsvUtils { /** * 读取txt或者csv文件 * @param filePath 文件路径 * @param colums 每行数据字段长度 * @param regex 切割字符串标识 * @return */ public List<String[]> read(String filePath,String regex) { List<String[]> list=new ArrayList<String[]>(); try { File file=new File(filePath); FileInputStream in=new FileInputStream(file); InputStreamReader read=new InputStreamReader(in,"GBK");//ANSI 可以不转码或者用GBK转码,其他需要相应格式转码 BufferedReader buffer=new BufferedReader(read); String lineTxt=""; String[] item=null; while((lineTxt=buffer.readLine())!=null) { //去除所有空白格 lineTxt=lineTxt.replaceAll("\s*", ""); //如果不是空白行写入list之中 if(!lineTxt.isEmpty()) { item=lineTxt.split(regex); if(item!=null&&item.length>0){ list.add(item); } } item=null; } buffer.close(); return list; } catch(Exception e) { ExceptionHeading.getException(this.getClass().getName(), e, "读取文件发生异常"); e.printStackTrace(); } return null; } }