国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學(xué)院 > 開發(fā)設(shè)計(jì) > 正文

讀寫SD卡上的文件

2019-11-09 16:21:24
字體:
供稿:網(wǎng)友

布局界面為【輸入框】、【顯示框】、【數(shù)據(jù)寫入按鈕】和【數(shù)據(jù)輸出按鈕】

為了讀寫SD卡上的數(shù)據(jù),必須在應(yīng)用程序的清單文件中添加讀寫SD卡的權(quán)限

在SD卡中創(chuàng)建與刪除文件權(quán)限:

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>向SD卡寫入數(shù)據(jù)的權(quán)限:

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

程序代碼如下:

package com.twac.sdcardtest;import java.io.BufferedReader;import java.io.File;import java.io.FileInputStream;import java.io.IOException;import java.io.InputStreamReader;import java.io.RandomaccessFile;import android.app.Activity;import android.os.Bundle;import android.os.Environment;import android.view.View;import android.view.View.OnClickListener;import android.widget.Button;import android.widget.EditText;public class MainActivity extends Activity {	PRivate Button btn_write;	private Button btn_read;	private EditText edt_write;	private EditText edt_read;	private final String FILE_NAME = "/crazyit.bin";	@Override	protected void onCreate(Bundle savedInstanceState) {		super.onCreate(savedInstanceState);		setContentView(R.layout.activity_main);		btn_write = (Button) findViewById(R.id.btn_write);		btn_read = (Button) findViewById(R.id.btn_read);		edt_write = (EditText) findViewById(R.id.edt_write);		edt_read = (EditText) findViewById(R.id.edt_read);		btn_write.setOnClickListener(new OnClickListener() {			@Override			public void onClick(View arg0) {				// 將edt_write的內(nèi)容寫入文件中				write(edt_write.getText().toString());				edt_write.setText("");			}		});		btn_read.setOnClickListener(new OnClickListener() {			@Override			public void onClick(View arg0) {				edt_read.setText(read());			}		});	}	private void write(String content) {		if (Environment.getExternalStorageState().equals(				Environment.MEDIA_MOUNTED)) {			// 獲得SD卡的目錄			File sdCardDir = Environment.getExternalStorageDirectory();			try {				File targetFile = new File(sdCardDir.getCanonicalPath()						+ FILE_NAME);				// 以指定文件創(chuàng)建RandomAccessFile對(duì)象				RandomAccessFile raf = new RandomAccessFile(targetFile, "rw");				// 將文件記錄指針移動(dòng)到最后				raf.seek(targetFile.length());				// 輸出文件內(nèi)容				raf.write(content.getBytes());				// 關(guān)閉RandomAccessFile				raf.close();			} catch (IOException e) {				e.printStackTrace();			}		}	}	private String read() {		try {			// 如果手機(jī)插入了SD卡,而且應(yīng)用程序具有訪問SD的權(quán)限			if (Environment.getExternalStorageState().equals(					Environment.MEDIA_MOUNTED)) {				// 獲取SD卡對(duì)應(yīng)的存儲(chǔ)目錄				File sdCardDir = Environment.getExternalStorageDirectory();				// 獲取指定文件對(duì)應(yīng)的輸入流				FileInputStream fis = new FileInputStream(						sdCardDir.getCanonicalPath() + FILE_NAME);				// 將指定輸入流包裝成BufferedReader				BufferedReader br = new BufferedReader(new InputStreamReader(						fis));				StringBuilder sb = new StringBuilder("");				String line = null;				// 循環(huán)讀取文件內(nèi)容				while ((line = br.readLine()) != null) {					sb.append(line);				}				// 關(guān)閉資源				br.close();				return sb.toString();			}		} catch (Exception e) {			e.printStackTrace();		}		return null;	}}


發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 德惠市| 乐东| 双柏县| 封开县| 大埔区| 英德市| 乐东| 高雄市| 贡嘎县| 府谷县| 曲麻莱县| 襄汾县| 神池县| 大邑县| 云浮市| 龙口市| 永吉县| 璧山县| 福海县| 临沭县| 墨玉县| 淮南市| 察隅县| 积石山| 呼伦贝尔市| 盘锦市| 上蔡县| 铜川市| 彭阳县| 水城县| 凭祥市| 南康市| 博兴县| 萝北县| 嘉黎县| 驻马店市| 阳朔县| 江孜县| 望城县| 渝中区| 前郭尔|