日期:2014-05-16  浏览次数:20997 次

利用 org.apache.commons.io.FileUtils快速读写文件(转)
利用 org.apache.commons.io.FileUtils快速读写文件

http://php.11519.net/5jblog/?p=475

  String fileName = "C://11.txt";
  File file = new File(fileName);
  String fileContent = "";
  try {
   fileContent = org.apache.commons.io.FileUtils.readFileToString(file, "GBK");
  } catch (IOException e) {
   e.printStackTrace();
  }
  fileContent +="Helloworld";
  try {
   org.apache.commons.io.FileUtils.writeStringToFile(file, fileContent, "GBK");
  } catch (IOException e) {
   e.printStackTrace();
  }



其他参考

Commons IO方便读写文件的工具类:http://laoyu.info/archives/282.html

Commons IO是apache的一个开源的工具包,封装了IO操作的相关类,使用Commons IO可以很方便的读写文件,url源代码等.

普通地读取一个网页的源代码的代码可能如下

    InputStream in = new URL( "http://laoyu.info" ).openStream();
     try {
       InputStreamReader inR = new InputStreamReader( in );
       BufferedReader buf = new BufferedReader( inR );
       String line;
       while ( ( line = buf.readLine() ) != null ) {
         System.out.println( line );
       }
     } finally {
       in.close();
     }

使用了Commons IO,则可以大大简化代码.如下:

    InputStream in = new URL( "http://laoyu.info" ).openStream();
     try {
       System.out.println( IOUtils.toString( in ) );
     } finally {
       IOUtils.closeQuietly(in);
     }

Commons IO里的常用类

FileUtils包含了文件操作的相关方法.
下面的代码用于读取磁盘上的某个文件:

    File file = new File("c:/test.txt");
    List lines = FileUtils.readLines(file, "UTF-8");

FileSystemUtils 可以获得指定磁盘路径的可用空间

    long freeSpace = FileSystemUtils.freeSpace("d:/");

文件复制代码:

    File src = new File("src.txt");
    File dest = new File("dest.txt");
    FileUtils.copyFile(src, dest);

补充:
方便地下载文件到本地

    InputStream in = new
    URL("http://www.baidu.com/img/baidu_logo.gif").openStream();
      byte [] gif = IOUtils.toByteArray(in);
      //IOUtils.write(gif,new FileOutputStream(new File("c:/test.gif")));
      FileUtils.writeByteArrayToFile(new File("c:/test.gif"),gif);
      IOUtils.closeQuietly(in);





分享 commons io 工具类 代码:http://www.javaeye.com/topic/575996

输入流复制到输出流
Java代码

    public class IoTest { 
     
        /**
         * @param args
         */ 
        public static void main(String[] args) throws Exception { 
            // TODO Auto-generated method stub 
            Writer write = new FileWriter("c:\\kk.dat"); 
     
            InputStream ins = new FileInputStream(new Fi