保存文件到SD卡以及分析setting源代码获取SD卡大小

 

保存文件到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;

 

}

 

转载于:https://www.cnblogs.com/freenovo/archive/2012/10/01/4469839.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值