Java I/O学习 文件读写工具
2024-09-03 20:15:29
import java.io.BufferedReader;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.FilenameFilter;
import java.io.IOException;
import java.io.PrintWriter;
import java.io.ObjectInputStream.GetField;
import java.lang.ref.PhantomReference;
import java.lang.ref.Reference;
import java.lang.ref.ReferenceQueue;
import java.lang.ref.SoftReference;
import java.lang.ref.WeakReference;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collection;
import java.util.Collections;
import java.util.HashSet;
import java.util.Iterator;
import java.util.LinkedList;
import java.util.List;
import java.util.Set;
import java.util.regex.Pattern; class TextFile extends ArrayList<String> { public TextFile(String filename, String splitter) {
super(Arrays.asList(read(filename).split(splitter)));
} //通过文件路径读取一行一行的读取文件信息
public static String read(String filename){
StringBuilder sb = new StringBuilder();
BufferedReader br = null;
try {
br = new BufferedReader(new FileReader(new File(filename).getAbsolutePath()));
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} String s;
try {
while ((s = br.readLine()) != null) {
sb.append(s); sb.append("\n");
}
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally{
try {
br.close(); //记得要关闭文件
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
return sb.toString();
} //通过文件名,以及要写入的内容,一追加的方式写入文件
public static void write(String filename, String text) throws IOException {
PrintWriter pw = null;
try {
//设置为追加的方式
pw = new PrintWriter(new FileWriter(filename, true));
pw.println(text); } catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally{
pw.close(); //关闭
}
}
//这个写入是根据构造函数,构造之后读取了信息,然后写入指定文件
public void write(String filename) {
PrintWriter pw = null;
try {
pw = new PrintWriter(new FileWriter(filename, true));
for (String item : this) {
pw.println(item);
}
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally{
pw.close();
}
} }
public class Test{ public static void main(String[] args) throws IOException {
TextFile.write("/home/estar/Test/a.java", "加油,你行");
System.out.println(TextFile.read("/home/estar/Test/a.java")); TextFile textFile = new TextFile("/home/estar/Test/a.java", "\n");
textFile.write("/home/estar/Test/b.java");
System.out.println(TextFile.read("/home/estar/Test/b.java"));
}
}
最新文章
- 使用filter获取http请求的出参以及入参
- [BZOJ2793][Poi2012]Vouchers
- 查看PostgreSQL版本,编译器版本号
- hive处理hbase数据
- thinkphp 防止sql注入
- 利用icepdf将pdf文件转为图片
- 主流数据库字段类型转.Net类型的方法
- 九度OJ 1214 寻找丑数【算法】
- Android Binder设计与实现 - 设计篇
- python—cookielib模块对cookies的操作
- OD: Windows Driver Fuzz
- [LeetCode] Jewels and Stones 珠宝和石头
- leetcode 买卖股票问题
- iOS打包上传问题
- Linux内核启动流程与模块机制
- ViewGroup.layout(int l, int t, int r, int b)四个输入参数的含义
- win10为什么不能把文件直接拖拽
- touchscreem
- Django基础学习六之渲染
- python ascii codec can&#39;t decode