JAVA I/O流工具类TextFile

  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(" ");//在读的过程中换行符会被去除掉,

  因此需要为每行加上换行符

  }

  }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," ");

  }

  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方法,以字符串里面的“ "为界将字符串拆开

  //然后写文件的时候我们再人为地进行换行操作。

  //如果直接将text里面的内容写入文件里面,www.fkit.org可以看到text里面的" "符

  号在文件里面得不到体现

  FileWriter fwriter=new FileWriter(new File

  (filename).getAbsoluteFile());

  BufferedWriter out=new BufferedWriter(fwriter);

  String []tx=text.split(" ");

  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个方法的使用,使用这个小工具类可以简化对文件的操作。

  想进入软件开发行业的朋友,建议参加软件开发培训,这样能有效地缩短同企业具体用人要求之间的差距。疯狂Java培训让学员简单易学,快速上手Java核心技术。最新,最好,最强大的Java培训首选疯狂软件学院,专注Java培训,师资强,口碑好,就业率高,疯狂Java培训给对Java感兴趣的学员们搭建一座通往IT金领的桥梁!

  疯狂软件学院一直以来致力于帮助大学生提高工作技能,摆脱就业难的问题,疯狂软件的Java开发成为了许多计算机专业或者是非计算机专业的大学生继续深造的方向。疯狂软件学院注重培养学生实际动手能力,通过企业全真实战教学,让学生在实践中获得真正的工作技能。

原文地址:https://www.cnblogs.com/gojava/p/3673805.html