android讀寫sd卡操作寫入數(shù)據(jù)讀取數(shù)據(jù)示例
package com.example.sdcardtest;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.RandomAccessFile;
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;
import android.app.Activity;
public class MainActivity extends Activity {
final String FILE_NAME = "/lxp.bin";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
Button write = (Button) findViewById(R.id.main_btn1);
Button read = (Button) findViewById(R.id.main_btn2);
final EditText edit1 = (EditText) findViewById(R.id.main_edit1);
final EditText edit2 = (EditText) findViewById(R.id.main_edit2);
write.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
write(edit1.getText().toString().trim());
edit1.setText("");
}
});
read.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
edit2.setText(read());
}
});
}
private void write(String content){
try {
if(Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)){
//獲取SD卡的目錄
File sdCardDir = Environment.getExternalStorageDirectory();
File targetFile = new File(sdCardDir.getCanonicalPath() + FILE_NAME);
//以指定文件創(chuàng)建RandomAccessFile對象
RandomAccessFile raf = new RandomAccessFile(targetFile, "rw");
//將文件記錄指針移動到最后
raf.seek(targetFile.length());
//輸出文件內(nèi)容
raf.write(content.getBytes());
raf.close();
}
} catch (Exception e) {
e.printStackTrace();
}
}
private String read(){
try {
if(Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)){
//獲得SD卡對應(yīng)的存儲目錄
File sdCardDir = Environment.getExternalStorageDirectory();
//獲取指定文件對應(yīng)的輸入流
FileInputStream fis = new FileInputStream(sdCardDir.getCanonicalPath() + FILE_NAME);
//將指定輸入流包裝成BufferReader
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);
}
br.close();
return sb.toString();
}
} catch (Exception e) {
e.printStackTrace();
}
return null;
}
}
最后別忘了在AndroidManafest.xml中增加訪問讀取SD的權(quán)限。
相關(guān)文章
Android程序開發(fā)之手機(jī)APP創(chuàng)建桌面快捷方式
這篇文章主要介紹了Android程序開發(fā)之手機(jī)APP創(chuàng)建桌面快捷方式 的相關(guān)資料,需要的朋友可以參考下2016-04-04Android使用setCustomTitle()方法自定義對話框標(biāo)題
Android有自帶的對話框標(biāo)題,但是不太美觀,如果要給彈出的對話框設(shè)置一個自定義的標(biāo)題,使用AlertDialog.Builder的setCustomTitle()方法非常方便,接下來通過本文給大家介紹Android使用setCustomTitle()方法自定義對話框標(biāo)題,感興趣的朋友一起學(xué)習(xí)吧2016-02-02Android View實現(xiàn)圓形進(jìn)度條
這篇文章主要為大家詳細(xì)介紹了Android View實現(xiàn)圓形進(jìn)度條,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下2021-08-0813問13答全面學(xué)習(xí)Android View繪制
這篇文章主要為大家詳細(xì)介紹了Android View繪制,13問13答幫助大家全面學(xué)習(xí)Android View繪制,感興趣的小伙伴們可以參考一下2016-03-03Android編程滑動效果之Gallery仿圖像集瀏覽實現(xiàn)方法
這篇文章主要介紹了Android編程滑動效果之Gallery仿圖像集瀏覽實現(xiàn)方法,結(jié)合實例形式詳細(xì)分析了Gallery瀏覽圖片的原理、步驟與相關(guān)實現(xiàn)技巧,需要的朋友可以參考下2016-02-02Android convinientbanner頂部廣告輪播控件使用詳解
這篇文章主要為大家詳細(xì)介紹了Android convinientbanner頂部廣告輪播控件,具有一定的參考價值,感興趣的小伙伴們可以參考一下2017-01-01