这里说的sd卡存储是指的是手机自身内存,存储方法跟缓存中存储是一样的,只是获取存储位置的绝对路径的方法有所变化,该存储方法存储的位置在/mnt/sdcard/
在XML文件中定义一个输入框和一个按钮
<EditText
android:id="@+id/edittext"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="写入数据"/>
<Button
android:id="@+id/button_write_sdcard"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="将数据写入SD卡"/>
在MainActivity中添加点击事件,将从EditText中获取的数据写入到指定位置
private void writeSDcard(){
File file=new File(Environment.getExternalStorageDirectory(),"SDstorige");
if (!file.exists()){
try {
file.createNewFile();
} catch (IOException e) {
e.printStackTrace();
}
}
try {
FileOutputStream is=new FileOutputStream(file);
BufferedWriter bw=new BufferedWriter(new OutputStreamWriter(is));
bw.write(mEditText.getText().toString());
bw.flush();
bw.close();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
可以看到,只是获取文件路径的方法不同而已。