生活随笔
收集整理的這篇文章主要介紹了
android 追加写入数据到文件
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
今天,簡單講講android如何以追加的形式寫入數據到文件里。
這個其實也比較簡單,不過之前一直沒有使用,所以昨天查詢了資料,這里記錄一下。
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileOutputStream;
import java.io.FileWriter;
import java.io.IOException;
import java.io.OutputStreamWriter;
import java.io.RandomAccessFile;/**** @author malik* @version 2011-3-10 下午10:49:41*/
public class AppendFile {public static void method1(String file, String conent) { BufferedWriter out = null; try { out = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(file, true))); out.write(conent); } catch (Exception e) { e.printStackTrace(); } finally { try { if(out != null){out.close(); }} catch (IOException e) { e.printStackTrace(); } } } /** * 追加文件:使用FileWriter * * @param fileName * @param content */ public static void method2(String fileName, String content) { FileWriter writer = null;try { // 打開一個寫文件器,構造函數中的第二個參數true表示以追加形式寫文件 writer = new FileWriter(fileName, true); writer.write(content); } catch (IOException e) { e.printStackTrace(); } finally { try { if(writer != null){writer.close(); }} catch (IOException e) { e.printStackTrace(); } } } /** * 追加文件:使用RandomAccessFile * * @param fileName 文件名 * @param content 追加的內容 */ public static void method3(String fileName, String content) { RandomAccessFile randomFile = null;try { // 打開一個隨機訪問文件流,按讀寫方式 randomFile = new RandomAccessFile(fileName, "rw"); // 文件長度,字節數 long fileLength = randomFile.length(); // 將寫文件指針移到文件尾。 randomFile.seek(fileLength); randomFile.writeBytes(content); } catch (IOException e) { e.printStackTrace(); } finally{if(randomFile != null){try {randomFile.close();} catch (IOException e) {e.printStackTrace();}}}} public static void main(String[] args) {try{File file = new File("d://text.txt");if(file.createNewFile()){System.out.println("Create file successed");}method1("d://text.txt", "123");method2("d://text.txt", "123");method3("d://text.txt", "123");}catch(Exception e){System.out.println(e);}}
}
簡單講講,method1使用FileWriter將數據追加到文件,method2使用BufferedWriter包裝OutputStreamWriter來追加寫入軟件,method3使用RandomAccessFile來追加寫入數據,寫入數據時,每次獲取文件末尾的長度,然后使用randomFile.seek(fileLength);追加寫入。
這里還介紹一個使用FileOutputStream?追加寫入數據到文件。
package fileoutputstream;import java.io.FileOutputStream;public class FileOutputStreamDemo3 {public static void main(String[] args) throws Exception {// 創建字節輸出流對象// FileOutputStream fos = new FileOutputStream("fos3.txt");// 創建一個向具有指定name的文件中寫入數據的輸出文件流。如果第二個參數為true,則將字節寫入文件末尾處,而不是寫入文件開始處FileOutputStream fos2 = new FileOutputStream("fos3.txt", true);// 第二個參數為true表示程序每次運行都是追加字符串在原有的字符上// 寫數據for (int x = 0; x < 10; x++) {fos2.write(("hello" + x).getBytes());fos2.write("\r\n".getBytes());// 寫入一個換行}// 釋放資源fos2.close();}
}
這里簡單講解一下,主要通過構造函數來確定是否追加寫入
public FileOutputStream(String name,boolean append) throws FileNotFoundException
創建一個向具有指定 name 的文件中寫入數據的輸出文件流。如果第二個參數為 true,則將字節寫入文件末尾處,而不是寫入文件開始處。
new 的時候加一個true參數則是追加。默認為false,則是覆蓋。
android 追加寫入數據到文件就講完了。
就這么簡單。
總結
以上是生活随笔 為你收集整理的android 追加写入数据到文件 的全部內容,希望文章能夠幫你解決所遇到的問題。
如果覺得生活随笔 網站內容還不錯,歡迎將生活随笔 推薦給好友。