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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

Android中的多种文件读写操作方法

發布時間:2024/1/23 36 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Android中的多种文件读写操作方法 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

添加權限:

<!-- 往SDCard寫入數據權限 --><uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /><!-- 在SDCard中創建與刪除文件權限 --><uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS" /> package com.ppmeet;import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream;import org.apache.http.util.EncodingUtils;import android.content.Context;/*** class name:FileService<BR>* class description:android文件的一些讀取操作<BR>* PS: <BR>* * @version 1.00 2010/10/21* @author CODYY)peijiangping*/ public class FileService {private Context context;public FileService(Context c) {this.context = c;}// 讀取sd中的文件public String readSDCardFile(String path) throws IOException {File file = new File(path);FileInputStream fis = new FileInputStream(file);String result = streamRead(fis);return result;}// 在res目錄下建立一個raw資源文件夾,這里的文件只能讀不能寫入。。。public String readRawFile(int fileId) throws IOException {// 取得輸入流InputStream is = context.getResources().openRawResource(fileId);String result = streamRead(is);// 返回一個字符串return result;}private String streamRead(InputStream is) throws IOException {int buffersize = is.available();// 取得輸入流的字節長度byte buffer[] = new byte[buffersize];is.read(buffer);// 將數據讀入數組is.close();// 讀取完畢后要關閉流。String result = EncodingUtils.getString(buffer, "UTF-8");// 設置取得的數據編碼,防止亂碼return result;}// 在assets文件夾下的文件,同樣是只能讀取不能寫入public String readAssetsFile(String filename) throws IOException {// 取得輸入流InputStream is = context.getResources().getAssets().open(filename);String result = streamRead(is);// 返回一個字符串return result;}// 往sd卡中寫入文件public void writeSDCardFile(String path, byte[] buffer) throws IOException {File file = new File(path);FileOutputStream fos = new FileOutputStream(file);fos.write(buffer);// 寫入buffer數組。如果想寫入一些簡單的字符,可以將String.getBytes()再寫入文件;fos.close();}// 將文件寫入應用的data/data的files目錄下public void writeDateFile(String fileName, byte[] buffer) throws Exception {byte[] buf = fileName.getBytes("iso8859-1");fileName = new String(buf, "utf-8");// Context.MODE_PRIVATE:為默認操作模式,代表該文件是私有數據,只能被應用本身訪問,在該模式下,寫入的內容會覆蓋原文件的內容,如果想把新寫入的內容追加到原文件中。可以使用Context.MODE_APPEND// Context.MODE_APPEND:模式會檢查文件是否存在,存在就往文件追加內容,否則就創建新文件。// Context.MODE_WORLD_READABLE和Context.MODE_WORLD_WRITEABLE用來控制其他應用是否有權限讀寫該文件。// MODE_WORLD_READABLE:表示當前文件可以被其他應用讀取;MODE_WORLD_WRITEABLE:表示當前文件可以被其他應用寫入。// 如果希望文件被其他應用讀和寫,可以傳入:// openFileOutput("output.txt", Context.MODE_WORLD_READABLE +// Context.MODE_WORLD_WRITEABLE);FileOutputStream fos = context.openFileOutput(fileName,Context.MODE_APPEND);// 添加在文件后面fos.write(buffer);fos.close();}// 讀取應用的data/data的files目錄下文件數據public String readDateFile(String fileName) throws Exception {FileInputStream fis = context.openFileInput(fileName);String result = streamRead(fis);// 返回一個字符串return result;} }

?

?

總結

以上是生活随笔為你收集整理的Android中的多种文件读写操作方法的全部內容,希望文章能夠幫你解決所遇到的問題。

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