Android开发学习---如何写数据到外部存储设备(sd卡),Environment.getExternalStorageDirectory,怎么获取sd卡的大小?
2014-05-23 01:00
1056 查看
本文主要介绍如何写数据到sd卡,这里主要到的技术是Environment中的方法.
1.
View Code
如何获取sdcard的大小?
这里使用的是Environment中的方法获取到sdcard的路径,然后将其路径通过StatFs类,该类主要获取指定文件路径下的文件信息(filesystem info).
获取其块大小,块数量.
1.
package com.amos.datasave; import java.io.File; import java.io.FileOutputStream; import android.annotation.SuppressLint; import android.content.Context; import android.os.Environment; import android.util.Log; import android.widget.Toast; @SuppressLint("WorldWriteableFiles") public class savePasswordService { private Context context; private String tag = "savePasswordService"; public savePasswordService(Context context) { this.context = context; } public void savePasswordToFile(String name, String password) { // 这里设置文件的权限 String content = name + ":" + password; Log.d(tag, "设置文件的读写权限"); try { FileOutputStream fileOutput = context.openFileOutput("LoginTestConfig.txt", Context.MODE_WORLD_READABLE | Context.MODE_WORLD_WRITEABLE); fileOutput.write(content.getBytes()); fileOutput.flush(); fileOutput.close(); } catch (Exception e) { Log.d(tag, "设置文件的读写权限失败!"); e.printStackTrace(); } } //写数据到sdcard public void savePasswordToSDCard(String name, String password) { // android 2.1 /sdcard/xx.txt // android 2.2 /mnt/sdcard/xx.txt // self_define /excard/xx.txt // File externalStorageDirectory = Environment.getExternalStorageDirectory(); // String path = externalStorageDirectory.getPath(); // System.out.println("path:" + path); // 要存储的内容 String content = name + ":" + password; Log.d(tag, "检验sdcard是否可用?"); //判断sdcard是否存在? if(!Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)){ Log.d(tag, "sdcard不可用!"); Toast.makeText(context, "没有找到SDCard!", Toast.LENGTH_LONG); return ; }; try { // File file = new File("/sdcard/qqpassword.txt"); // File file = new File(path + "/qqpassword2.txt"); File file = new File(Environment.getExternalStorageDirectory(), "/qqpassword2.txt"); FileOutputStream fos = new FileOutputStream(file); fos.write(content.getBytes()); fos.flush(); fos.close(); } catch (Exception e) { e.printStackTrace(); } } }
View Code
如何获取sdcard的大小?
StatFs statFs = new StatFs(Environment.getExternalStorageDirectory().getPath()); long blockSize = statFs.getBlockSize(); long blockCount = statFs.getBlockCount(); long sdCardSize = blockSize*blockCount; Log.d(tag,""+sdCardSize );
这里使用的是Environment中的方法获取到sdcard的路径,然后将其路径通过StatFs类,该类主要获取指定文件路径下的文件信息(filesystem info).
获取其块大小,块数量.
相关文章推荐
- Android Environment.getExternalStorageDirectory() 获取的是内部存储还是外部存储?若无SD卡,就用内部。
- Android Environment.getExternalStorageDirectory() 获取的是内部存储还是外部存储?
- Android Environment.getExternalStorageDirectory() 获取的是内部存储还是外部存储?
- Android Environment.getExternalStorageDirectory() 获取的是内部存储还是外部存储?
- Android Environment.getExternalStorageDirectory() 获取的是内部存储还是外部存储?
- Android Environment.getExternalStorageDirectory() 获取的是内部存储还是外部存储?
- Android Environment.getExternalStorageDirectory() 获取的是内部存储还是外部存储? - z
- Android获取外部存储卡绝对路径问题Environment.getExternalStorageDirectory()
- 读取外部存储的文件数据Environment.getExternalStorageDirectory()
- 关于Environment.getExternalStorageDirectory()不能获取SD卡路径问题
- Android 数据存储-------外部存储(SD卡) External Storage
- Android获取手机外部存储路径的方法Environment.getExternalStorageDirectory()到底是什么路径
- Android数据存储(External Storage,外部存储)
- Android中的Environment.getExternalStorageState使用(SD卡是否可读可写)
- Android 小米手机 Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_PICTURES)读取文件失败。
- Android数据存储之External Storage外部存储
- Android开发——通过SD卡外部存储数据
- 【Android 开发教程】保存到外部存储设备(SD卡)
- Android数据存储--External Storage(外部存储)
- android开发学习(二)——保存文件到手机内存和SD卡,文件访问权限,获取内存大小