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

首頁 > 學院 > 開發設計 > 正文

讀寫SD卡上的文件

2019-11-09 15:06:59
字體:
來源:轉載
供稿:網友

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

為了讀寫SD卡上的數據,必須在應用程序的清單文件中添加讀寫SD卡的權限

在SD卡中創建與刪除文件權限:

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>向SD卡寫入數據的權限:

<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的內容寫入文件中				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);				// 以指定文件創建RandomAccessFile對象				RandomAccessFile raf = new RandomAccessFile(targetFile, "rw");				// 將文件記錄指針移動到最后				raf.seek(targetFile.length());				// 輸出文件內容				raf.write(content.getBytes());				// 關閉RandomAccessFile				raf.close();			} catch (IOException e) {				e.printStackTrace();			}		}	}	private String read() {		try {			// 如果手機插入了SD卡,而且應用程序具有訪問SD的權限			if (Environment.getExternalStorageState().equals(					Environment.MEDIA_MOUNTED)) {				// 獲取SD卡對應的存儲目錄				File sdCardDir = Environment.getExternalStorageDirectory();				// 獲取指定文件對應的輸入流				FileInputStream fis = new FileInputStream(						sdCardDir.getCanonicalPath() + FILE_NAME);				// 將指定輸入流包裝成BufferedReader				BufferedReader br = new BufferedReader(new InputStreamReader(						fis));				StringBuilder sb = new StringBuilder("");				String line = null;				// 循環讀取文件內容				while ((line = br.readLine()) != null) {					sb.append(line);				}				// 關閉資源				br.close();				return sb.toString();			}		} catch (Exception e) {			e.printStackTrace();		}		return null;	}}


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 安陆市| 柘城县| 望江县| 滁州市| 五原县| 黄平县| 本溪| 德阳市| 宜兰县| 桐梓县| 大英县| 固始县| 喀喇沁旗| 河曲县| 甘南县| 南京市| 乐至县| 柘城县| 定兴县| 水城县| 抚松县| 巩义市| 原平市| 明溪县| 子洲县| 正定县| 万荣县| 文水县| 双城市| 甘南县| 新沂市| 连南| 类乌齐县| 合水县| 聂拉木县| 龙山县| 西畴县| 区。| 乾安县| 尚义县| 富民县|