import java.io.File;
import java.util.List;
/**
* @author swing
* @date 2018年7月26日 上午10:59:32 类说明 文件解析接口
*/
public interface FileParserable {
/**
* 解析接口,返回字符串列表
*
* @param file
* @return
*/
List<String> fileToList(File file);
}
import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.List;
import org.apache.commons.lang.StringUtils;
import com.yiban.rec.bill.parse.service.changefileformat.FileParserable;
/**
* 普通的文本文件解析
*
* @author clearofchina
*
*/
public class TextFileParser implements FileParserable {
private String charset = "UTF-8";
public TextFileParser() {
}
public TextFileParser(String charset) {
this.charset = charset;
}
@Override
public List<String> fileToList(File file) {
List<String> fileList = new ArrayList<String>();
if (file.exists() && file.isFile()) {
BufferedReader reader = null;
try {
reader = new BufferedReader(new InputStreamReader(new FileInputStream(file), charset));
String line = "";
while ((line = reader.readLine()) != null) {
fileList.add(line);
}
} catch (IOException e) {
e.printStackTrace();
} finally {
if (reader != null) {
try {
reader.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
return fileList;
}
public static void main(String[] args) {
String filePath = "D:\\myz\\工作\\文档\\阳新县人民医院\\银行卡账单\\CCB20190520105420280620003.txt";
List<String> fileList = new TextFileParser("GB2312").fileToList(new File(filePath));
String[] lines = null;
for (String line : fileList) {
if (StringUtils.isEmpty(line))
continue;
lines = line.split("\\|");
String title[] = "银行卡号| |交易类型|金额|参考号|流水号| | | |".split("\\|");
for (int i = 0, len = lines.length; i < len; i++) {
System.out.println(i + "-" + title[i] + ":" + lines[i]);
}
}
}
}
txt文件解析成List公共工具方法
最新推荐文章于 2026-07-01 19:19:58 发布
本文介绍了一种文本文件解析器的设计与实现,该解析器能够将文件内容转换为字符串列表,支持不同字符集的文件,并提供了示例代码。
2801

被折叠的 条评论
为什么被折叠?



