四、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中如果其中有任何錯誤或是見解不同的地方歡迎留言討論。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM