对安卓SD卡的读取与写入并不复杂,这里直接上主要的代码:
当然一定要记得在清单文件中设置对读取与写入的权限:
<!-- 读取 -->
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<!-- 写入权限 -->
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<!-- 创建与删除权限 -->
<uses-permission android:name="android.permission.MOUNT_FORMAT_FILESYSTEMS" />
import android.os.Environment;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStreamReader;
public class WriteReadSD extends AppCompatActivity {
private Button write,read;
private EditText editText;
private TextView textView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.write_read_sd);
write = (Button)findViewById(R.id.write);
read = (Button)findViewById(R.id.read);
editText = (EditText)findViewById(R.id.edit);
textView = (TextView)findViewById(R.id.show);
write.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (isSD()){
String str = editText.getText().toString();
File file = Environment.getExternalStorageDirectory();
try {
File file1 = new File(file.getCanonicalPath()+"/user.txt");
FileOutputStream fop = new FileOutputStream(file1);
fop.write(str.getBytes());
fop.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
});
read.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (isSD()){
StringBuffer stringBuffer = new StringBuffer();
try {
File file = new File(Environment.getExternalStorageDirectory()
.getCanonicalPath()+"/user.txt");
if (file.exists()){
// 打开文件输入流
FileInputStream fip = new FileInputStream(file);
BufferedReader reader = new BufferedReader(new InputStreamReader(fip));
String str = "";
while ((str=reader.readLine())!=null){
stringBuffer.append(str);
}
reader.close();
textView.setText(stringBuffer);
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
});
}
//判断SD卡是否准备
private boolean isSD(){
String state = Environment.getExternalStorageState();
if (Environment.MEDIA_MOUNTED.equals(state)){
return true;
}
return false;
}
}
本文介绍了一种在安卓设备上实现SD卡读写的简单方法。通过示例代码展示了如何请求必要的权限、检查SD卡状态以及进行文件的写入与读取操作。
5760

被折叠的 条评论
为什么被折叠?



