textfile java_java编程思想 TextFile IO工具类

packageio;importjava.io.BufferedReader;importjava.io.File;importjava.io.FileNotFoundException;importjava.io.FileReader;importjava.io.IOException;importjava.io.PrintWriter;importjava.util.ArrayList;importjava.util.Arrays;importjava.util.TreeSet;public class TextFile extends ArrayList{//读取文件,返回 String

public staticString read(String fileName){

StringBuilder sb=newStringBuilder();try{

BufferedReader in= newBufferedReader(newFileReader(newFile(fileName).getAbsoluteFile()));try{

String s ;//BufferedReader.readLine() 如果已到达流末尾,则返回 null

while ( (s = in.readLine())!= null) {

sb.append(s);

sb.append("\n");//要自己加上回车

}

}finally{

in.close();

}

}catch(IOException e) {throw newRuntimeException();

}returnsb.toString();

}//read//往文件写入 text

public static voidwrite(String fileName,String text){try{

PrintWriter out= newPrintWriter

(newFile(fileName).getAbsoluteFile());try{

out.print(text);

}finally{

out.close();

}

}catch(IOException e) {throw newRuntimeException();

}

}//write//构造器

publicTextFile(String fileName,String splitter) {super(Arrays.asList( read(fileName).split(splitter))) ;if (get(0).equals("")) {

remove(0);

}

}publicTextFile(String fileName ) {this(fileName, "\n");//以换行号切分

}//复制文件 写入到 文件

public voidwrite(String fileName){try{

PrintWriter out= new PrintWriter(newFile(fileName).getAbsoluteFile());try{for (String item : this) {

out.print(item);

}

}finally{

out.close();

}

}catch(FileNotFoundException e) {throw newRuntimeException(e);

}

}//write

public static voidmain(String[] args) {

String pa= "D:\\dev2\\workspace\\seehope\\bigwork\\src\\com\\ColorChoseListener.java";

String path2= "D:\\dev2\\workspace\\seehope\\bigwork\\src\\io\\TextFile.java";

String file=read(pa);

write("test.txt", file);

TextFile text= new TextFile("test.txt");//以换行号切分

TreeSet words = new TreeSet(new TextFile("src\\io\\TextFile.java" , "\\W+"));/*TreeSet words = new TreeSet(new TextFile(path2, "\\W+"));

非词符号切分 ,

1. 写完整路径 D:\\xx\\xx\\xx\\bigwork\\src\\io\\TextFile.java

2.相对于此项目(bigwork)的路径(src\io\xxx.java)*/

//字母开头的 码值小于 H

for (String string : words.headSet("H")) {

System.out.println(string);

}

}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值