Java以行读写文件

场景:

基于行读写文件是基本的需求,有时候数据文件比较大那么采用apache 的common io包就不合适了,那么就需要最基础的api去读写

实现:

基于apache common:

读操作:

public static void apacheIOR(String file) throws Exception {
	List<String> lines = IOUtils.readLines(new FileInputStream(file));
	System.out.println(lines);
}
public static void apacheIOREncoding(String file) throws Exception {
	List<String> lines = IOUtils.readLines(new FileInputStream(file), Charsets.UTF_8.name());
	System.out.println(lines);
}

基于FileUtils的读操作:

FileUtils.readLines(file);
FileUtils.readLines(file, encoding);

写操作:

public static void apacheIOW(String file,List<String> lines) throws Exception {
	 IOUtils.writeLines(lines, null, new FileOutputStream(file));
}
public static void apacheIOWEncoding(String file,List<String> lines) throws Exception {
	IOUtils.writeLines(lines, null, new FileOutputStream(file), Charsets.UTF_8.name());
}

基于FileUtils的写操作:

FileUtils.writeLines(file, lines, append);
FileUtils.writeLines(file, encoding, lines, lineEnding, append);
FileUtils.writeLines(file, encoding, lines)

基于Java 基础api的实现:

读操作:

String file = "C:/data/someabcd.dat";
BufferedReader fileReader = new BufferedReader(new FileReader(file));
String line = null;
while (StringUtils.isNotEmpty(line = fileReader.readLine())) {
 //deal line your biz
}
fileReader.close();

写操作:

 FileWriter fw=new FileWriter(file);
 BufferedWriter bw=new BufferedWriter(fw);
 bw.write(str);
 bw.newLine();
 bw.close();

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值