Android中把文件存放在SDCard
2724 点击·0 回帖
![]() | ![]() | |
![]() | 一 SDCard介绍 1.SDCard可以把他看看做是移动硬盘或U盘,也就是手机的内存卡 2.SDCard的创建是在eclipse创建模拟器时随同创建,也可以使用DOS命令创建 二 SDCard的使用 在程序中访问SDCard的时候需要申请访问的SDCard权限,即是在AndroidManifest.xml中加入SDCard的权限 <!--允许应用程序写到外部存储器--> <uses-permission Android:name="Android.permission.WRITE_EXTERNAL_STORAGE"/> <!--允许装入和卸载文件系统的移动存储 --> <uses-permission Android:name="Android.permission.MOUNT_UNMOUNT_FILESYSTEMS"/> 也可以通过AndroidManifest.xml中的可视化视图来创建 我们给SDCard赋予权限之后,就可以在activity中往SDCard中写入文件了,具体的代码如下: package cn.csdn.hr.Android.sdcard; import java.io.File; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; import java.io.UnsupportedEncodingException; import Android.app.Activity; import Android.os.Bundle; import Android.os.Environment; import Android.util.Log; publicclass SdcardActivity extends Activity { @Override publicvoid onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); // sdcard的目录是 mnt/sdcard 或者是sdcare setContentView(R.layout.main); // 写入数据到sdcard上 try { if (Environment.getExternalStorageState().equals( Environment.MEDIA_MOUNTED)) { // 首先创建一个路径 ,路径的创建在Android1.6以上,低版本路径为/sdcard //通过web得到路径,放置有的版本不一致而出错 File dirPath = Environment.getExternalStorageDirectory(); //通过日志的方式输出,我们可在File Explorer中看到输出 Log.i("MSG",dirPath.toString()); //String dirPath = "/mnt/sdcard"; // 创建写入的文件 www.atcpu.com File file = new File(dirPath.toString(), "csdn.txt"); // 写入 FileOutputStream fos = new FileOutputStream(file); fos.write("你好".getBytes("UTF-8")); fos.close(); } } catch (FileNotFoundException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (UnsupportedEncodingException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } } 然后我们就可以在目录下看到所创建的csdn.text文件,目录为: ![]() 注: 1.Environment.getExternalStorageState()方法用于获取SDCard的状态,如果手机装有SDCard,并且可以进行读写,那么方法返回的状态等于Environment.MEDIA_MOUNTED。 2.Environment.getExternalStorageDirectory()方法用于获取SDCard的目录,当然要获取SDCard的目录 | |
![]() | ![]() |