四、JAVA中的IO流,Apache包的使用(eclipse)

  Java本身的IO就可以完成许多操作,但是往往要实现的话需要很长的代码,以及各个类的使用。简而言之就是可以实现,但是特别麻烦。

这是我们可以用第三方的包轻松实现,这次要使用的是Apache的io包。

  1、首先我们需要到Apache的官网(www.apache.org)上下载Apache的包打开官网找到 Project

 

 

 

或者直接下拉到底部

 

找到Commons

 

单击打开找到左侧的 Components——>IO

 

 

单击左侧的Download 就可以下载相关的源码(Source)和可执行文件(Binaries)

 

 

这里要注意的一点是不同的版本对jdk版本是有要求的!分别是:

    Commons IO 2.4 (requires JDK 1.6+)

    Commons IO 2.2 (requires JDK 1.5+)

    Older Releases

我这里下载的是commons-io-2.4-bin.zip

 

2、到目前为止仅仅是完成了准备工作,接下来就是相关的代码,首先要在eclipse中导入Apache的包(关于eclipse中怎么导入包就不说了)

Apache的commons-io-2.4包中类和方法过多就不一一演示,这里只演示将文本文档中的数据独处并存入String类型变量和文件拷贝。

 

  (1)读取文本文档:

      我们需要用的是文件工具类FileUtils,查看API文档查看用法

        public static String readFileToString(File file,String encoding) throws IOException

      readToString为静态方法可以直接通过类名调用,参数分别为文件和编码,关于编码Windows用的是“GBK”,

而Unix和Linux基本上用的是“UTF-8”具体根据自己的操作系统(所读取的文件编码)确定。

  代码:      

 1 import java.io.File;
 2 import java.io.IOException;
 3 import org.apache.commons.io.FileUtils;
 4 
 5 public class ApacheDemo {
 6 
 7     public static void main(String[] args) {
 8         File file = new File("test.txt");
 9         try {
10             String input = FileUtils.readFileToString(file,"GBK");   //FileUtils中的方法为静态方法,通过类名直接调用
11             System.out.println(input);
12         } catch (IOException e) {
13             e.printStackTrace();
14         }
15 
16     }
17 
18 }

 

 

  (2)文件拷贝:

    同样用的文件工具类FileUtils,通过API文档查看方法

      public static void copyFile(File srcFile, File destFile) throws IOException

    同样为静态方法只需要通过类名来调用就行了参数分别为输入,输出的文件。

  代码:

 1 import java.io.File;
 2 import java.io.IOException;
 3 import org.apache.commons.io.FileUtils;
 4 
 5 public class ApacheDemo {
 6 
 7     public static void main(String[] args) {
 8         File file = new File("test.txt");
 9         File newfile = new File("new_file.txt");
10         try {
11             FileUtils.copyFile(file, newfile);
12         } catch (IOException e) {
13             e.printStackTrace();
14         }
15 
16     }
17 
18 }

Apache的包中还提供了许许多多的IO流操作的类和方法,这些类和方法使用起来基本上很简单,通过类名和方法名基本上就能了解到其作用,通过参数能了解其使用方法。

 

最后本人也是在学习java中如果其中有任何错误或是见解不同的地方欢迎留言讨论。

posted @ 2015-06-02 00:26  刚开始都是新手  阅读(2357)  评论(0编辑  收藏  举报