Jakartase_IO流_ — Commons IO_(IO流終極篇)(柒)

1、前言

  • Apache Commons IO是Apache基金會建立並維護的Java函數庫
  • 它提供了許多類使得開發者的常見任務變得簡單,同時減小重複代碼

2、Commons IO 類庫

2.1 FileUtils 文件操做工具類

  • 提供方法數組

    • 複製文件夾
    • 複製文件
    • 下載文件
    • 把字符串寫入文件
    • 把字節數組寫入文件
    • 把集合裏面的內容寫入文件
    • 往文件裏面寫內容
    • 文件移動
    • 清空和刪除文件夾
    • 建立文件夾
    • 文件獲取輸入/輸出流
    • 讀取文件
    • 測試兩個文件的修改時間那個比較新/老
    • 其餘

2.2 IOUtils 流操做工具類(功能、方法、demo)

  • 2.2.1 功能:提供用於讀取,寫入和複製文件的實用方法。 這些方法適用於InputStream,OutputStream,Reader和Writer。
  • 2.2.2 方法函數

    • 爲輸入/輸出操做提供靜態實用程序方法。工具

      • toXXX() - 從流中讀取數據。
      • write() - 將數據寫入流。
      • copy() - 將全部數據複製到另外一個流的流。
      • contentEquals - 比較兩個流的內容。
  • 2.2.3 demo性能

    //方式1:使用緩衝讀取器逐行讀取文件
         public static void readUsingTraditionalWay() throws IOException {
         try(BufferedReader bufferReader = 
                 new BufferedReader( new InputStreamReader(  
                     new FileInputStream("data.txt") ) )) {
            String line;
            while(( line = bufferReader.readLine()) != null )
                System.out.println( line );
         }
         //方式2:使用IOUtils一次讀取文件
         public static void readUsingIOUtils() throws IOException {
             try(InputStream is = new FileInputStream("data.txt")) {
                System.out.println(IOUtils.toString(is, "UTF-8") );
             }
         }

3、IO流總結

一、的劃分

  • 輸入流:數據源到程序(InputStream、Reader讀進來)
  • 輸出流:程序到目的地(OutPutStream、Writer寫出去)

二、按流的處理的數據單元分類

  • 字節流:按照字節讀取數據(InputStream、OutputStream)。
  • 字符流:按照字符讀取數據(Reader、Writer)。

三、 按流的功能分類:

  • 節點流:能夠直接從數據源或目的地讀寫數據。
  • 處理流:不直接鏈接到數據源或目的地,是處理流的流。經過對其餘流的處理提升程序的性能

四、 IO的四個基本抽象類:

  • InputStream、OutputStream、Reader、Writer

五、InputStream的實現類:

  • FileInputStream
  • ByteArrayInutStream
  • BufferedInputStream
  • DataInputStream
  • ObjectInputStream

六、 OutputStream的實現類:

  • FileOutputStream
  • ByteArrayOutputStream
  • BufferedOutputStream
  • DataOutputStream
  • ObjectOutputStream
  • PrintStream

七、 Reader的實現類

  • FileReader
  • BufferedReader
  • InputStreamReader

八、 Writer的實現類

  • FileWriter
  • BufferedWriter
  • OutputStreamWriter

九、 序列化

  • 把Java對象轉換爲字節序列的過程。

十、反序列化

  • 字節序列恢復爲Java對象的過程。
相關文章
相關標籤/搜索