Java寫入檔案的幾種方法分享

coffee801發表於2017-05-19

這篇文章主要介紹了Java的寫入檔案的幾種方法,需要的朋友可以參考下

一,FileWritter寫入檔案

FileWritter,字元流寫入字元到檔案。預設情況下,它會使用新的內容取代所有現有的內容,然而,當指定一個真(布林)值作為FileWritter建構函式的第二個引數,它會保留現有的內容,並追加新內容在檔案的末尾。

替換所有現有的內容與新的內容。

新的FileWriter(檔案); 2。保留現有的內容和附加在該檔案的末尾的新內容。



程式碼如下:


新的FileWriter(file,true);


檔案追加示例  
一個字幕:檔案,命名為“javaio-appendfile.txt”,幷包含以下內容。

ABC Hello追加新內容new FileWriter(file,true)



程式碼如下:


package com.yiibai.file; 

import java.io.File; 
import java.io.FileWriter; 
import java.io.BufferedWriter; 
import java.io.IOException; 

public class AppendToFileExample  

    public static void main(String [] args)
    {  
     try { 
      String data =“此內容將追加到檔案的末尾”; 

      檔案檔案=新檔案(“javaio-appendfile.txt”); 

      //如果檔案不存在,則建立它
      if(!file.exists()){ 
       file.createNewFile(); 
      } 

      // true =追加檔案
      FileWriter fileWritter = new FileWriter(file.getName(),true); 
             BufferedWriter bufferWritter = new BufferedWriter(fileWritter); 
             bufferWritter.write(資料); 
             bufferWritter.close(); 

         的System.out.println( “完成”); 

     } catch(IOException e){ 
      e.printStackTrace(); 
     } 
    } 
}


查詢查詢結果  
現在,文字檔案“javaio-appendfile.txt”內容更新如下:

ABC Hello這個內容將追加到檔案的末尾

二,BufferedWriter將寫入檔案

緩衝字元(BufferedWriter)是一個字元流類來處理字元資料。不同於位元組流(資料轉換成位元組),你可以直接寫字串,陣列或字元資料儲存到檔案。


程式碼如下:


package com.yiibai.iofile; 

import java.io.BufferedWriter; 
import java.io.File; 
import java.io.FileWriter; 
import java.io.IOException; 

public class WriteToFileExample { 
 public static void main(String [] args){ 
  try { 

   String content =“這是寫入檔案的內容”; 

   File file = new File(“/ users / mkyong / filename.txt”); 

   //如果檔案不存在,則建立它
   if(!file.exists()){ 
    file.createNewFile(); 
   } 

   FileWriter的FW =新的FileWriter(file.getAbsoluteFile()); 
   BufferedWriter bw = new BufferedWriter(fw); 
   bw.write(內容); 
   bw.close(); 

   的System.out.println( “完成”); 

  } catch(IOException e){ 
   e.printStackTrace(); 
  } 
 } 
}

三,FileOutputStream中寫入檔案


檔案輸出流是一種用於處理原始二進位制資料的位元組流類。為了將資料寫入到檔案中,必須將資料轉換為位元組,並儲存到檔案。請參閱下面的完整的例子。



程式碼如下:


包com.yiibai.io; 

import java.io.File; 
import java.io.FileOutputStream; 
import java.io.IOException; 

public class WriteFileExample { 
 public static void main(String [] args){ 

  FileOutputStream fop = null; 
  檔案檔案 
  String content =“這是文字內容”; 

  嘗試{ 

   file = new File(“c:/newfile.txt”); 
   fop = new FileOutputStream(file); 

   //如果檔案不存在,則建立它
   if(!file.exists()){ 
    file.createNewFile(); 
   } 

   //以byte為單位獲取內容
   byte [] contentInBytes = content.getBytes(); 

   fop.write(contentInBytes); 
   fop.flush(); 
   fop.close(); 

   的System.out.println( “完成”); 

  } catch(IOException e){ 
   e.printStackTrace(); 
  } finally { 
   try { 
    if(fop!= null){ 
     fop.close(); 
    } 
   } catch(IOException e){ 
    e.printStackTrace(); 
   } 
  } 
 } 
}


//更新的JDK7例如,使用新的“嘗試資源關閉”的方法來輕鬆處理檔案。

包com.yiibai.io; 

import java.io.File; 
import java.io.FileOutputStream; 
import java.io.IOException; 

public class WriteFileExample { 
 public static void main(String [] args){ 

  File file = new File(“c:/newfile.txt”); 
  String content =“這是文字內容”; 

  try(FileOutputStream fop = new FileOutputStream(file)){ 

   //如果檔案不存在,則建立它
   if(!file.exists()){ 
    file.createNewFile(); 
   } 

   //以byte為單位獲取內容
   byte [] contentInBytes = content.getBytes(); 

   fop.write(contentInBytes); 
   fop.flush(); 
   fop.close(); 

   的System.out.println( “完成”); 

  } catch(IOException e){ 
   e.printStackTrace(); 
  } 
 } 
}

相關文章