转载请注明出处:http://blog.csdn.net/zhangphil
Android写文件到SDCard的一般过程和代码
Java代码:
[java] view plain copy 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 @ "; byte[] buffer = data.getBytes(); // 开始写入数据到这个文件。 fos.write(buffer, 0, buffer.length); fos.flush(); fos.close(); Log.d("文件写入", "成功"); } }
不要忘记在AndroidManifest添加读写SDCard的权限:
[html] view plain copy <!--往SDCard中写入数据的权限 --> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"></uses-permission>