`
jyq529
  • 浏览: 358 次
  • 性别: Icon_minigender_1
  • 来自: 沈阳
社区版块
存档分类
最新评论

关于FileUtils

阅读更多
利用 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源代码等.

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

1.
InputStream in = new URL( "http://laoyu.info" ).openStream();

2.
try {

3.
   InputStreamReader inR = new InputStreamReader( in );

4.
   BufferedReader buf = new BufferedReader( inR );

5.
   String line;

6.
   while ( ( line = buf.readLine() ) != null ) {

7.
     System.out.println( line );

8.
   }

9.
} finally {

10.
   in.close();

11.
}


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

1.
InputStream in = new URL( "http://laoyu.info" ).openStream();

2.
try {

3.
   System.out.println( IOUtils.toString( in ) );

4.
} finally {

5.
   IOUtils.closeQuietly(in);

6.
}


Commons IO里的常用类

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

1.
File file = new File("c:/test.txt");

2.
List lines = FileUtils.readLines(file, "UTF-8");


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

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


文件复制代码:

1.
File src = new File("src.txt");

2.
File dest = new File("dest.txt");

3.
FileUtils.copyFile(src, dest);


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

1.
InputStream in = new

2.
URL("http://www.baidu.com/img/baidu_logo.gif").openStream();

3.
  byte [] gif = IOUtils.toByteArray(in);

4.
  //IOUtils.write(gif,new FileOutputStream(new File("c:/test.gif")));

5.
  FileUtils.writeByteArrayToFile(new File("c:/test.gif"),gif);

6.
  IOUtils.closeQuietly(in);






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

输入流复制到 输出流



Java代码
1.public class IoTest { 
2. 
3.    /**
4.     * @param args
5.     */ 
6.    public static void main(String[] args) throws Exception { 
7.        // TODO Auto-generated method stub 
8.        Writer write = new FileWriter("c:\\kk.dat"); 
9. 
10.        InputStream ins = new FileInputStream(new File("c:\\text.txt")); 
11. 
12.        IOUtils.copy(ins, write); 
13.        write.close(); 
14. 
15.        ins.close(); 
16.    } 
17. 
18.} 



文本写入指定文件



Java代码
1.public class FileWirterTest { 
2. 
3.    /**
4.     * @param args
5.     */ 
6.    public static void main(String[] args) throws Exception{ 
7.        // TODO Auto-generated method stub 
8.         
9.        String name = "my name is panxiuyan"; 
10.         
11.        File file =  new File("c:\\name.txt"); 
12.         
13.        FileUtils.writeStringToFile(file, name); 
14. 
15.    } 
16. 
17.} 




将输入流转换成文本



Java代码
1.public class URLIoTest { 
2. 
3.    /**
4.     * @param args
5.     */ 
6.    public static void main(String[] args) throws Exception { 
7.        // TODO Auto-generated method stub 
8.        URL url = new URL("http://www.dimurmill.com"); 
9.         
10.        InputStream ins = url.openStream(); 
11.         
12.        String contents = IOUtils.toString(ins,"UTF-8"); 
13.        System.out.println( "Slashdot: " + contents ); 
14. 
15. 
16.    } 
17. 
18.} 



关闭相关流



Java代码
1.public class IoCloseTest { 
2. 
3.    /**
4.     * @param args
5.     */ 
6.    public static void main(String[] args) { 
7.        // TODO Auto-generated method stub 
8.         
9.        File file = null; 
10.         
11.        InputStream ins = null; 
12.        try{ 
13.            file = new File("C:\\Test.java"); 
14.             
15.            ins = new FileInputStream(file); 
16.        }catch(Exception e){ 
17.            e.printStackTrace(); 
18.        }finally{ 
19.            IOUtils.closeQuietly(ins); 
20.        } 
21. 
22.    } 
23. 
24.} 




文件复制



Java代码
1.public class FileCopyTest { 
2. 
3.    /**
4.     * @param args
5.     */ 
6.    public static void main(String[] args) throws Exception{ 
7.        // TODO Auto-generated method stub 
8.         
9.        File srcfile = new File("c:\\Test.java"); 
10.         
11.        File destfile = new File("c:\\Test.java.bak"); 
12.         
13.         
14.        FileUtils.copyFile(srcfile, destfile); 
15. 
16.    } 
17. 
18.} 



文件复制指定的目录



Java代码
1.public class FileCopyTest { 
2. 
3.    /**
4.     * @param args
5.     */ 
6.    public static void main(String[] args) throws Exception{ 
7.        // TODO Auto-generated method stub 
8.         
9.        File srcfile = new File("c:\\Test.java"); 
10.         
11.        File destDir = new File("D:\\"); 
12.         
13.         
14.        FileUtils.copyFileToDirectory(srcfile, destDir); 
15. 
16.    } 
17. 
18.} 



网络流保存为文件



Java代码
1.public class URLToFileTest { 
2. 
3.    /**
4.     * @param args
5.     */ 
6.    public static void main(String[] args) throws Exception{ 
7.        // TODO Auto-generated method stub 
8.         
9.        URL url = new URL("http://www.163.com"); 
10.         
11.        File file = new File("c:\\163.html"); 
12.         
13.        FileUtils.copyURLToFile(url, file); 
14. 
15.    } 
16. 
17.} 




文件目录操作



Java代码
1.public class DirOper { 
2. 
3.    /**
4.     * @param args
5.     */ 
6.    public static void main(String[] args) throws Exception { 
7.        // TODO Auto-generated method stub 
8. 
9.        File dir = new File("c:\\test"); 
10. 
11.        FileUtils.cleanDirectory(dir);//清空目录下的文件 
12. 
13.        FileUtils.deleteDirectory(dir);//删除目录和目录下的文件 
14. 
15.    } 
16. 
17.} 




目录大小



Java代码
1.long size = FileUtils.sizeOfDirectory(dir); 




目录操作



Java代码
1.File testFile = new File( "testFile.txt" ); 
2. 
3.     //如果不存在,新建 
4. 
5.    // 如果存在,修改文件修改时间 
6. 
7.    FileUtils.touch( testFile ); 
8.  




记录流的读取写入字节数



Java代码
1.File test = new File( "test.dat" ); 
2. 
3.//输出流的统计 
4.CountingOutputStream countStream = null; 
5. 
6.//输入流的统计 
7.//CountingInputStream countStream = null; 
8. 
9. 
10. 
11. 
12.try { 
13. 
14.    FileOutputStream fos = new FileOutputStream( test ); 
15. 
16.    countStream = new CountingOutputStream( fos ); 
17. 
18.    countStream.write( "Hello".getBytes( ) ); 
19. 
20.} catch( IOException ioe ) { 
21. 
22.    System.out.println( "Error writing bytes to file." ); 
23. 
24.} finally { 
25. 
26.    IOUtils.closeQuietly( countStream ); 
27. 
28.} 
29. 
30. 
31. 
32.if( countStream != null ) { 
33. 
34.    int bytesWritten = countStream.getCount( ); 
35. 
36.    System.out.println( "Wrote " + bytesWritten + " bytes to test.dat" ); 
37. 
38.} 




相同的内容写入不同的文本



Java代码
1.File test1 = new File("split1.txt"); 
2. 
3.File test2 = new File("split2.txt"); 
4. 
5.OutputStream outStream = null; 
6. 
7.         
8. 
9.try { 
10. 
11.    FileOutputStream fos1 = new FileOutputStream( test1 ); 
12. 
13.    FileOutputStream fos2 = new FileOutputStream( test2 ); 
14. 
15.    //包含不同的文本 
16.    outStream = new TeeOutputStream( fos1, fos2 ); 
17. 
18.             
19. 
20.    outStream.write( "One Two Three, Test".getBytes( ) ); 
21. 
22.    outStream.flush( ); 
23. 
24.} catch( IOException ioe ) { 
25. 
26.    System.out.println( "Error writing to split output stream" ); 
27. 
28.} finally { 
29. 
30.    IOUtils.closeQuietly( outStream ); 
31. 
32.} 
分享到:
评论

相关推荐

    FileUtils实现文件下载

    FileUtils实现文件下载,下载的文件会显示真是的文件名,下载的文件无论什么格式都不会在页面直接打开

    fileutils-1.0.zip

    fileutils.zip,fileutils-一个简单的filewatcher实用程序一个简单的filewatcher实用程序

    FileUtils类

    文件工具类FileUtils,对文件中内容行数lines的总数统计

    FileUtils.cpp

    FileUtils.cpp pdal c++

    FileUtils 的方法大全

    ### FileUtils 的方法大全 本文将详细介绍 `FileUtils` 类中提供的各种文件操作方法,这些方法在 Java 开发中非常实用,能够帮助开发者高效地完成文件处理任务。 #### 一、获取系统的临时目录路径 **方法名**: `...

    org.apache.commons.io.FileUtils

    Apache Commons IO库中的`org.apache.commons.io.FileUtils`类是一个非常实用的工具类,它提供了大量方便、高效的方法,用于处理文件系统操作。这个类在Java开发中被广泛使用,尤其是在处理大量的文件读写和管理任务...

    【Java基础】-- FileUtils工具类常用方法(csdn)————程序.pdf

    【Java基础】-- FileUtils工具类常用方法 在Java开发中,进行文件操作是必不可少的一部分,Apache Commons IO库提供了一个非常方便的工具类FileUtils,它对Java基础的IO操作进行了封装,使得文件处理更加简洁易用。...

    FileUtils java web 文件上传下载工具

    `FileUtils`是一个方便的工具类,用于简化这些操作。本篇将详细讲解如何利用`FileUtils`实现文件的上传和下载,并介绍如何在Java Web项目中集成和使用这个工具。 首先,`FileUtils`并不是Java标准库的一部分,而是...

    文件操作工具类FileUtils

    ,复制单个文件到指定路径,复制整个文件夹到指定路径,复制文件夹下所有文件到指定路径,删除单个文件,删除文件夹下所有文件,删除文件夹以及文件下下所有文件。。。等

    FileUtils.java

    收集下JAVA日常开发常用的工具类 包括 文件处理工具:FileUtils 有需要的大家可以下载使用希望能帮到各位

    FileUtils文件操作工具类

    实现文件的创建、删除、复制、压缩、解压以及目录的创建、删除、复制、压缩解压等功能

    android FileUtils

    android File操作工具类 提供了常用的File操作方法

    fileutils-maven-plugin

    fileutils-maven-插件fileutils-maven-plugin 是一个构建插件,用于对文本文件执行一些基本操作。目标概述fileutils-maven-plugin 提供了几个目标。 fileutils-maven-plugin:concatFileList 将文件内容连接到输出...

    FileUtils.rar

    在`FileUtils`这个类中,这些功能通常会被封装成方法,比如`compressFolderTo7z()`和`uncompress7z()`, 以及对应的.zip版本的方法。这些方法应该处理所有必要的错误和异常,以确保文件操作的正确性和安全性。 总的...

    FileUtils.java 文件工具类

    支持多线程上传下载,支持断点续传功能的一个工具类。

    fileutils:C ++文件实用程序

    fileutils fileutils具有实用程序功能,可以读取,写入和同步文件。用例写文件: write("/tmp/myfile.txt", std::string_view{"Hello, world!"});将文件同步到存储: sync("/tmp/myfile.txt");读取文件: std::...

Global site tag (gtag.js) - Google Analytics