首页 > 代码库 > Apache-Commons IO

Apache-Commons IO

工具类一共6个:

org.apache.commons.io.filefilter.FileFilterUtils

org.apache.commons.io.

  • EndianUtils
  • FilenameUtils
  • FileSystemUtils
  • FileUtils
  • IOUtils

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

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 = http://www.mamicode.com/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);

Apache-Commons IO