日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

android 追加写入数据到文件

發布時間:2024/4/15 编程问答 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 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 追加写入数据到文件的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。