保存文件到SD卡
public static boolean saveInfo(Context context, String username,
String password) {
try {
if ( Environment.MEDIA_MOUNTED.equals( Environment
.getExternalStorageState())) {
File file = new File( Environment.getExternalStorageDirectory(), "info.txt");
FileOutputStream fos = new FileOutputStream(file);
fos.write((username + "=" + password).getBytes());
fos.flush();
fos.close();
return true;
} else {
Toast.makeText(context, "cdcard被卸载", 0).show();
return false;
}
} catch (Exception e) {
e.printStackTrace();
return false;
}
}
public static HashMap<String, String> getInfo(Context context) {
File file = new File(Environment.getExternalStorageDirectory(), "info.txt");
try {
FileInputStream fis = new FileInputStream(file);
BufferedReader br = new BufferedReader(new InputStreamReader(fis));
String[] result = br.readLine().split("=");
HashMap<String, String> map = new HashMap<String, String>();
map.put("username", result[0]);
map.put("password", result[1]);
br.close();
return map;
} catch (Exception e) {
Toast.makeText(context, "无法读取用户信息", 0).show();
}
return null;
}
授权<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
分析setting源代码获取SD卡大小
public String getSdcardInfo() {
File path = Environment.getExternalStorageDirectory();
StatFs stat = new StatFs(path.getPath());
long blockSize = stat.getBlockSize();
long totalBlocks = stat.getBlockCount();
long availableBlocks = stat.getAvailableBlocks();
long totalSize = blockSize * totalBlocks;
long availSize = blockSize * availableBlocks;
String totalStr = Formatter.formatFileSize(this, totalSize);
String availStr = Formatter.formatFileSize(this, availSize);
return "cdcard总内存:" + totalStr + "\n" + "可用内存:" + availStr;
}
public String getROMInfo() {
File path = Environment.getDataDirectory();
StatFs stat = new StatFs(path.getPath());
long blockSize = stat.getBlockSize();
long totalBlocks = stat.getBlockCount();
long availableBlocks = stat.getAvailableBlocks();
long totalSize = blockSize * totalBlocks;
long availSize = blockSize * availableBlocks;
String totalStr = Formatter.formatFileSize(this, totalSize);
String availStr = Formatter.formatFileSize(this, availSize);
return "手机总内存:" + totalStr + "\n" + "可用内存:" + availStr;
}