JAVA I/O流工具类TextFile由广州疯狂软件java培训分享:

  本文是一个TextFile类,通过这个类我们可以调用其中的方法来简化对文件的读写,这段代码的可用性比较强。这个TextFile类如下:

 

import java.io.*;
  import java.util.*;
  public class TextFile extends ArrayList<String>{
  public static String read(String filename){
  StringBuilder sb=new StringBuilder();
  try{
  BufferedReader in=new BufferedReader(new FileReader(
  new File(filename).getAbsoluteFile()));
  try{
  String s;
  while((s=in.readLine())!=null){
  sb.append(s);
  sb.append("\n");//在读的过程中换行符会被去除掉,
  因此需要为每行加上换行符
  }
  }finally{
  in.close();
  }
  }catch(IOException e){
  throw new RuntimeException(e);
  }
  return sb.toString();
  }
  public TextFile(String filename,String splitter){
  super(Arrays.asList(read(filename).split(splitter)));
  if(get(0).equals("")) remove(0);
  }
  public TextFile(String filename){
  this(filename,"\n");
  }
  public void write(String filename){
  try{
  PrintWriter out=new PrintWriter(new File
  (filename).getAbsoluteFile());
  try{
  for(String item : this) out.println(item);
  }finally{
  out.close();
  }
  }catch(IOException e){
  throw new RuntimeException(e);
  }
  }
  public static void write(String filename,String text){
  //其中filename指明要写入的文件名,text指明写入的字符串内容
  try{
  //虽然字符串里面含有换行符,但是直接写入文件里面的时候它不会被识别
  //我们采用split方法,以字符串里面的“\n"为界将字符串拆开
  //然后写文件的时候我们再人为地进行换行操作。
  //如果直接将text里面的内容写入文件里面,www.fkit.org可以看到text里面的"\n"符
  号在文件里面得不到体现
  FileWriter fwriter=new FileWriter(new File
  (filename).getAbsoluteFile());
  BufferedWriter out=new BufferedWriter(fwriter);
  String []tx=text.split("\n");
  try{
  for(int i=0;i
  {
  out.write(tx[i]);
  out.newLine();
  }
  }finally{
  out.flush();
  out.close();
  }
  }catch(IOException e){
  throw new RuntimeException(e);
  }
  }
  public static void main(String []args)
  {
  TextFile tf=new TextFile("TextFile.txt");
  tf.write("dd.zip");
  }
  }

  那么如何利用这个类读写文件呢?

  假设已经存在一个TextFile.txt文件

  (1)调用静态方法read()读文件:String str=TextFile.read("TextFile.txt");这样就可以将文件内容读取到字符串中去了。

  (2)调用静态方法write(String filename,String text)写文件:紧接着上面例子,假设

  TextFile.txt的内容已经写到字符串str里面了。现在我们需要将str内容写入到文件"Text.txt"里面。可按照如下操作即可:

  TextFile.write("Text.txt",str);

  (3)调用非静态方法write(String filename)实现文件复制:假设我们要将已经存在的"TextFile.txt"的文件复制给一个不存在的文件“Text2.txt",我们可以采用以下方式:

  TextFile tFile=new TextFile("TextFile.txt");

  tFile.write("text2.txt");

  上面介绍了这3个方法的使用,使用这个小工具类可以简化对文件的操作。