Thinking In Java学习笔记之文件读写实用工具

来源:互联网 发布:数据迁移工具有哪些 编辑:程序博客网 时间:2024/06/16 12:34

继承ArrayList,对象实例化的时候将文件按行读入,每一行作为一个元素放入数组,后续对文件的操作可以转化为对ArrayList的操作


package com;import java.io.BufferedReader;import java.io.File;import java.io.FileNotFoundException;import java.io.FileReader;import java.io.IOException;import java.io.PrintWriter;import java.util.ArrayList;import java.util.Arrays;import java.util.TreeSet;public class TextFile extends ArrayList<String> {public static String read(String filename){StringBuilder sb=new StringBuilder();try {BufferedReader br=null;try{br=new BufferedReader(new FileReader(new File(filename)));String line=null;while((line=br.readLine())!=null){sb.append(line);sb.append("\n");}}finally{br.close();}} catch (FileNotFoundException e) {// TODO Auto-generated catch blocke.printStackTrace();} catch (IOException e) {// TODO Auto-generated catch blocke.printStackTrace();}return sb.toString();}public static void write(String filename,String text){PrintWriter pw=null;try {try{pw=new PrintWriter(filename);pw.print(text);}finally{pw.close();}} catch (FileNotFoundException e) {// TODO Auto-generated catch blocke.printStackTrace();}}public TextFile(String filename,String splitter){super(Arrays.asList(read(filename).split(splitter)));}public void write(String filename){PrintWriter pw=null;try {try{pw=new PrintWriter(new File(filename));for(String item:this){pw.println(item);}}finally{pw.close();}} catch (FileNotFoundException e) {// TODO Auto-generated catch blocke.printStackTrace();}}public static void main(String[] args) {// TODO Auto-generated method stubSystem.out.println((new File(".").getAbsolutePath()));String str=TextFile.read("./src/com/TextFile.java");TextFile.write("x1.txt", str);TextFile tf=new TextFile("x1.txt","\\W+");TreeSet<String> treeset=new TreeSet<String>(tf);System.out.println(treeset.headSet("a"));}}


0 0