Android写文件到SDCard的一般过程和代码
Java代码:
package zhangphil.io;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import android.app.Activity;
import android.os.Bundle;
import android.os.Environment;
import android.util.Log;
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// 首先判断设备是否挂载SDCard
boolean isMounted = Environment.getExternalStorageState().equals(android.os.Environment.MEDIA_MOUNTED);
if (isMounted) {
try {
writeFileToSDCard();
} catch (IOException e) {
e.printStackTrace();
}
} else {
Log.d("SDCard错误", "未安装SDCard!");
}
}
// 写一个文件到SDCard
private void writeFileToSDCard() throws IOException {
// 比如可以将一个文件作为普通的文档存储,那么先获取系统默认的文档存放根目录
File parent_path = Environment.getExternalStorageDirectory();
// 可以建立一个子目录专门存放自己专属文件
File dir = new File(parent_path.getAbsoluteFile(), "zhangphil");
dir.mkdir();
File file = new File(dir.getAbsoluteFile(), "myfile.txt");
Log.d("文件路径", file.getAbsolutePath());
// 创建这个文件,如果不存在
file.createNewFile();
FileOutputStream fos = new FileOutputStream(file);
String data = "hello,world! Zhang Phil @ CSDN";
byte[] buffer = data.getBytes();
// 开始写入数据到这个文件。
fos.write(buffer, 0, buffer.length);
fos.flush();
fos.close();
Log.d("文件写入", "成功");
}
}
不要忘记在AndroidManifest添加读写SDCard的权限:
<!--往SDCard中写入数据的权限 -->
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"></uses-permission>