久久久精品一区ed2k-女人被男人叉到高潮的视频-中文字幕乱码一区久久麻豆樱花-俄罗斯熟妇真实视频

文件讀寫android,文件讀寫權限是在哪里

Android 中的文件讀寫操作

IO流(操作文件內容): 字節(jié)流

10年積累的成都網(wǎng)站建設、成都網(wǎng)站設計經(jīng)驗,可以快速應對客戶對網(wǎng)站的新想法和需求。提供各種問題對應的解決方案。讓選擇我們的客戶得到更好、更有力的網(wǎng)絡服務。我雖然不認識你,你也不認識我。但先網(wǎng)站設計后付款的網(wǎng)站建設流程,更有城固免費網(wǎng)站建設讓你可以放心的選擇與我們合作。

參考:

AssetManager

assets 文件夾用于存儲應用需要的文件,在安裝后可直接從其中讀取使用或者寫入本地存儲中

Android Studio 默認不建立該文件夾,可以手動新建 : app - src - main - assets

或者,右鍵 main - New - Folder - Assets Folder

AssetManager 對象可以直接訪問該文件夾:

獲取方法:

使用函數(shù) open 可以打開 assets 文件夾中對象,返回一個 InputStream 對象:

open

獲取方法:

android 讀寫文件需要哪些權限

!--往sdcard中寫入數(shù)據(jù)的權限 --uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/uses-permission!--在sdcard中創(chuàng)建/刪除文件的權限 --uses-permission android:name="android.permission.MOUNT_U

android中的apk必須簽名

這種簽名不是基于權威證書的,不會決定某個應用允不允許安裝,而是一種自簽名證書。

重要的是,android系統(tǒng)有的權限是基于簽名的。比如:system等級的權限有專門對應的簽名,簽名不對,權限也就獲取不到。默認生成的APK文件是debug簽名的。

獲取system權限時用到的簽名,見:如何使Android應用程序獲取系統(tǒng)權限。基于UserID的進程級別的安全機。這種簽名不是基于權威證書的,不會決定某個應用允不允許安裝,而是一種自簽名證書。重要的是,android系統(tǒng)有的權限是基于簽名的。

如何讀寫Android文件

讀寫文件,和java中沒有區(qū)別的

File file = new FIle("文件絕對路徑");

注意這里的文件路徑,windows平臺下盤符是 c: d: e: 等

android是linux內核,路徑是 / 開頭的

其它的就是InputStream outputStream 沒什么區(qū)別

android 如何讀寫文件?

讀文件:

1、通過File獲取文件

2、打開輸入流,讀取文件

寫文件:

1、創(chuàng)建文件

2、打開輸出流,寫入文件內容

示例:

讀文件:

String?content?=?"";?//文件內容字符串

//通過路徑/sdcard/foo.txt打開文件

File?file?=?new?File("/sdcard/foo.txt");

try?{

InputStream?instream?=?new?FileInputStream(file);//讀取輸入流

InputStreamReader?inputreader?=?new?InputStreamReader(instream);//設置流讀取方式

BufferedReader?buffreader?=?new?BufferedReader(inputreader);

while?((?line?=?buffreader.readLine())?!=?null)?{

content?+=?line?+?"\n";//讀取的文件內容

}

}catch(Exception?ex){

}

寫文件:

File?file?=?new?File("/sdcard/foo.txt");//

if(!file.exists())

file.createNewFile();//如果文件不存在,創(chuàng)建foo.txt

try?{

OutputStream?outstream?=?new?FileOutputStream(file);//設置輸出流

OutputStreamWriter?out?=?new?OutputStreamWriter(outstream);//設置內容輸出方式

out.write("文字內容");//輸出內容到文件中

out.close();

}?catch?(java.io.IOException?e)?{

e.printStackTrace();

}

Android開發(fā)之如何讀寫文件

【轉】

首先介紹如何存儲數(shù)據(jù),顯然,要將數(shù)據(jù)從應用中輸出到文件中,必須得到一個輸出流outPutStream,然后往輸出流中寫入數(shù)據(jù),在這里Android自帶了一個得到應用輸出流的方法

FileOutputStream fos =context.openFileOutput(“yuchao.txt”,Context.MODE_PRIVATE); ?(1)

其中第一個屬性為文件名,第二個屬性為讀寫模式(有關讀寫模式的說明下面將詳細闡述),

然后在文件輸出流fos中便可以寫入數(shù)據(jù)

Fos.write(“Hi,”I’m Chao Yu!”.getBytes());

用完文件輸出流之后記得關閉

fos.close();

這樣,在/data/data/packageName/file目錄下就生成了一個文件名為yuchao.txt的文件,文件中的內容為” Hi,I’m Chao Yu!”

有關(1)中讀寫模式其實就是制定創(chuàng)建文件的權限以及在讀寫的時候的方式,Android中提供了以下幾種讀寫模式

Context.MODE_PRIVATE ? ?= ?0

該模式下創(chuàng)建的文件其他應用無權訪問,并且本應用將覆蓋原有的內容

Context.MODE_APPEND ? ?= ?32768

該模式下創(chuàng)建的文件其他應用無權訪問,并且本應用將在原有的內容后面追加內容

Context.MODE_WORLD_READABLE = ?1

該模式下創(chuàng)建的文件其他應用有讀的權限

Context.MODE_WORLD_WRITEABLE = ?2

該模式下創(chuàng)建的文件其他應用有寫的權限

如果需要將文件設置為外部應用可以讀寫,可將讀寫模式設置為Context.MODE_WORLD_READABLE + Context.MODE_WORLD_WRITEABLE

一般情況下,各個應用維護的數(shù)據(jù)都在一個特定的文件夾中,即上面所提到的/data/data/packageName/file(存在于手機存儲中),但手機內存畢竟有限,所以有些情況下,我們需要往SD卡中寫入數(shù)據(jù)文件,這其實和普通的java web 應用步驟一樣,都是先創(chuàng)建特針對特定目錄特定文件的輸出流,然后往輸出流中寫數(shù)據(jù),這里要注意一個方法,就是獲取SD卡根目錄的方法,隨著Android系統(tǒng)不斷升級,SD卡的根目錄隨時都有可能改變,Android中得到SD卡根目錄的方法是

File sdCardDir = Environment.getExternalStorageDirectory();

然后就可以進行下面的步驟

File saveFile = new File(sdCardDir, “yuchao.txt”);

FileOutputStream outStream = new FileOutputStream(saveFile);

outStream.write("Hi,I’m ChaoYu".getBytes());

outStream.close();

值得注意的是,在往SD卡中寫數(shù)據(jù)的時候,健壯的代碼必須考慮SD卡不存在或者寫保護的情況,故在寫入之前,先做判斷

if(Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)){

……

}

接著,我們來學習下我們的應用程序如何讀取文件中的數(shù)據(jù),其實就是寫的逆向過程

若要讀取應用程序默認維護的文件(即/data/data/packageName/file目錄下的文件),首先得到文件輸入流

FileInputStream istream = this.context.openFileInput(“yuchao.txt”);

然后在內存中開辟一段緩沖區(qū)

byte[] buffer = new byte[1024];

然后創(chuàng)建一個字節(jié)數(shù)組輸出流

ByteArrayOutputStream ostream = new ByteArrayOutputStream();

讀出來的數(shù)據(jù)首先放入緩沖區(qū),滿了之后再寫到字符輸出流中

while((len=istream.read(buffer))!=-1){

ostream.write(buffer, 0, len);

}

最后關閉輸入流和輸出流

istream.close();

ostream.close();

將得到的內容以字符串的形式返回便得到了文件中的內容了,這里的流操作較多,故以一張圖片來說明,見圖1

return new String(ostream.toByteArray());

從SD卡中讀取數(shù)據(jù)與上述兩個步驟類似,故不再贅述,留給讀者自己思考

如在開發(fā)過程中進行SD卡地讀寫,切忌忘了加入權限

uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS" /

uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/

至此,Android系統(tǒng)中有關文件數(shù)據(jù)的讀寫介紹完畢。

Android TXT文件讀寫

public void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.main);

String fileName = "/sdcard/y.txt";//文件路徑

// 也可以用String fileName = "mnt/sdcard/Y.txt";

String res = "";

try {

FileInputStream fin = new FileInputStream(fileName);

// FileInputStream fin = openFileInput(fileName);

// 用這個就不行了,必須用FileInputStream

int length = fin.available();

byte[] buffer = new byte[length];

fin.read(buffer);

res = EncodingUtils.getString(buffer, "UTF-8");////依Y.txt的編碼類型選擇合適的編碼,如果不調整會亂碼

fin.close();//關閉資源

System.out.println("res---"+res);

int a=Integer.parseInt(res.substring(3, 5));

int b=Integer.parseInt(res.substring(8, 10));

System.out.println(a+"res---"+b);//獲取的a.b

} catch (Exception e) {

e.printStackTrace();

}

}

希望能解決您的問題。

分享題目:文件讀寫android,文件讀寫權限是在哪里
文章分享:http://sd-ha.com/article12/phhggc.html

成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供建站公司、企業(yè)網(wǎng)站制作、做網(wǎng)站搜索引擎優(yōu)化、微信公眾號、品牌網(wǎng)站設計

廣告

聲明:本網(wǎng)站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經(jīng)允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)

網(wǎng)站建設網(wǎng)站維護公司