[Java I/O] TextFile 工具类
一种常见的编程任务是,从一个文件读取内容,修改内容,再把内容写到另一个文件里。 Java 要实现读取、写入操作,需要创建多个类才能产生一个 Stream 进行操作。
下面是一个简单的工具类,封装对文件的读、写操作,提供简洁的接口。
import java.io.BufferedReader; import java.io.File; import java.io.FileNotFoundException; import java.io.FileReader; import java.io.IOException; import java.io.PrintWriter; public class TextFile { /** * * @param fileName The full path of the target file * @return */ public static String read(String fileName){ StringBuilder sb = new StringBuilder(); try { BufferedReader in = new BufferedReader(new FileReader(new File(fileName).getAbsoluteFile())); String s; try { while( (s = in.readLine()) != null ){ sb.append(s); sb.append("\n"); } }finally{ in.close(); } } catch (IOException e) { e.printStackTrace(); } return sb.toString(); } /** * * @param fileName The full path of the target file * @param text The content which is written to the target file */ public static void write(String fileName, String text){ try { PrintWriter out = new PrintWriter(new File(fileName).getAbsoluteFile()); out.print(text); out.close(); } catch (FileNotFoundException e) { e.printStackTrace(); } } }
TextFile 工具类演示
public class TextFileDemo { public static void main(){ String fileName = "/tmp/dirTest/aaa.txt"; String content = TextFile.read(fileName); System.out.print(content); System.out.println("[ Read End ]"); String content2 = "aaaaaaaa"; TextFile.write(fileName, content2); } }
参考资料
Page 672, File reading & writing utilities, Thinking in Java 4th.