@Override
網(wǎng)站建設(shè)哪家好,找成都創(chuàng)新互聯(lián)!專注于網(wǎng)頁設(shè)計、網(wǎng)站建設(shè)、微信開發(fā)、小程序設(shè)計、集團企業(yè)網(wǎng)站建設(shè)等服務(wù)項目。為回饋新老客戶創(chuàng)新互聯(lián)還提供了永順免費建站歡迎大家使用!
public?void?onClick(View?view)?{
String?state?=?Environment.getExternalStorageState();//獲取外部設(shè)備狀態(tài)
//檢測外部設(shè)備是否可用
if(!state.equals(Environment.MEDIA_MOUNTED))?{
Toast.makeText(this,?"外部設(shè)備不可用",?Toast.LENGTH_SHORT).show();
return;
}
//創(chuàng)建文件
File?sdCard?=?Environment.getExternalStorageDirectory();//獲取外部設(shè)備的目錄
File?file?=?new?File(sdCard,"文件名.txt");//文件位置
try?{
FileOutputStream?outputStream?=?new?FileOutputStream(file);//打開文件輸出流
BufferedWriter?writer?=?new?BufferedWriter(new?OutputStreamWriter(outputStream));//寫入到緩存流
writer.write("這里是要寫入到文件的數(shù)據(jù)");//從從緩存流寫入
writer.close();//關(guān)閉流
Toast.makeText(this,?"輸出成功",?Toast.LENGTH_SHORT).show();
}
catch(Exception?exception)?{
Toast.makeText(this,?"輸出失敗",?Toast.LENGTH_SHORT).show();
}
}
寫入到文件管理時需要權(quán)限
uses-permission?android:name="android.permission.WRITE_EXTERNAL_STORAGE"/
讀文件:
1、通過File獲取文件
2、打開輸入流,讀取文件
寫文件:
1、創(chuàng)建文件
2、打開輸出流,寫入文件內(nèi)容
示例:
讀文件:
String?content?=?"";?//文件內(nèi)容字符串
//通過路徑/sdcard/foo.txt打開文件
File?file?=?new?File("/sdcard/foo.txt");
try?{
InputStream?instream?=?new?FileInputStream(file);//讀取輸入流
InputStreamReader?inputreader?=?new?InputStreamReader(instream);//設(shè)置流讀取方式
BufferedReader?buffreader?=?new?BufferedReader(inputreader);
while?((?line?=?buffreader.readLine())?!=?null)?{
content?+=?line?+?"\n";//讀取的文件內(nèi)容
}
}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);//設(shè)置輸出流
OutputStreamWriter?out?=?new?OutputStreamWriter(outstream);//設(shè)置內(nèi)容輸出方式
out.write("文字內(nèi)容");//輸出內(nèi)容到文件中
out.close();
}?catch?(java.io.IOException?e)?{
e.printStackTrace();
}
IO流(操作文件內(nèi)容): 字節(jié)流
參考:
AssetManager
assets 文件夾用于存儲應(yīng)用需要的文件,在安裝后可直接從其中讀取使用或者寫入本地存儲中
Android Studio 默認不建立該文件夾,可以手動新建 : app - src - main - assets
或者,右鍵 main - New - Folder - Assets Folder
AssetManager 對象可以直接訪問該文件夾:
獲取方法:
使用函數(shù) open 可以打開 assets 文件夾中對象,返回一個 InputStream 對象:
open
獲取方法: