zoukankan      html  css  js  c++  java
  • Commons IO方便读写文件的工具类

    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);
  • 相关阅读:
    C# Thread Lambda
    C#中Invoke的用法
    C#抽象类和抽象方法
    SQL Server2005杂谈(2):公用表表达式(CTE)的递归调用
    改变自己的128种方法
    小技巧
    Linux学习第一章作业.zxs
    Linux学习第二、三章作业.zxs
    Linux 系统管理 04—账号管理
    Mysql中的in和find_in_set的区别?
  • 原文地址:https://www.cnblogs.com/littlehb/p/3160120.html
Copyright © 2011-2022 走看看