对手机SD卡的一些操作
首先要导入外包 log4j-1.2.16.jar
代码如下:
package com.car273.util; import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.FileReader;
import java.io.IOException;
import java.io.OutputStream; import org.apache.log4j.Logger; import android.os.Environment;
import android.os.StatFs; /**
* 关于SD卡上的操作方法集
*
* @author Administrator
*
*/
public class SDcardUtil {
/** log4j对象 */
private static final Logger logger = Logger.getLogger(SDcardUtil.class); /**
* 判断SD卡是否可用
*
* @return 有sd卡返回true,无sd卡返回false
*/
public static boolean isSDcardCanUse() {
try {
return Environment.getExternalStorageState().equals(
Environment.MEDIA_MOUNTED);
} catch (Exception e) {
e.printStackTrace();
}
return false;
} /** 获取SD卡路径 **/
public static String getSDcardPath() {
File sdDir = null;
boolean sdCardExist = Environment.getExternalStorageState().equals(
android.os.Environment.MEDIA_MOUNTED); // 判断sd卡是否存在
if (sdCardExist) {
sdDir = Environment.getExternalStorageDirectory();// 获取跟目录
}
if(sdDir ==null){
return "/mnt/sdcard";
}
return sdDir.toString();
} /**
* 外部存储空间信息
*
* @return 当前可用的存储空间大小
*/
public static long getExternalStorageSize() {
if (isSDcardCanUse()) {
// 判断外部存储空间
File path = Environment.getExternalStorageDirectory();
StatFs stat = new StatFs(path.getPath());
long blockSize = stat.getBlockSize();
long availableBlocks = stat.getAvailableBlocks();
availableBlocks *= blockSize;
if (availableBlocks >= GlobalData.MIN_SPACE_SIZE)
return availableBlocks;
}
return 0;
} /**
* 获得文件大小
*
* @return 文件大小 -1表示文件不存在
* @throws FileNotFoundException
* @throws IOException
*/
@SuppressWarnings("resource")
public static int getFileSize(File file) throws FileNotFoundException,
IOException {
if (isFileExisted(file))
return (new FileInputStream(file)).available();
else
return -1;
} /**
* 判断文件是否存在
*
* @return
*/
public static boolean isFileExisted(File file) {
return file.exists();
} /**
* @param bytes
* 字节数组
* @param flag
* 是否追加形式写入文件
* @param dirPath
* 文件目录(目录不存在则创建目录)
* @param fileName
* 文件名
* @return 1:成功 0:写入过程中失败 -1:流关闭失败
* @throws IOException
*/
public static int writeSDCardByBytes(byte[] bytes, boolean flag,
String dirPath, String fileName) throws IOException {
OutputStream output = null;
try {
createDirInSDCard(dirPath);
output = new FileOutputStream(new File(dirPath + File.separator
+ fileName), flag);
output.write(bytes);
output.flush();
} catch (IOException e) {
e.printStackTrace();
logger.error(Car273Util.dumpThrowable(e));
throw e;
} finally {
try {
if (output != null)
output.close();
} catch (IOException e) {
logger.error(Car273Util.dumpThrowable(e));
e.printStackTrace();
return -1;
}
}
return 1;
} /**
* 根据路径dir创建文件目录
*
* @param dir
* @return
*/
private static File createDirInSDCard(String dir) {
File fileDir = new File(dir);
fileDir.mkdir();
return fileDir;
} /**
* 读取文件
* @param f 要读取的文件
* @return 文件信息字符串
* @throws IOException 读取异常
*/
public static String loadFileToString(File f) throws IOException {
// long beginTime = System.currentTimeMillis();
BufferedReader br = null;
String ret = null;
try {
br = new BufferedReader(new FileReader(f));
String line = null;
StringBuffer sb = new StringBuffer();
while ((line = br.readLine()) != null) {
sb.append(line);
}
ret = sb.toString();
} finally {
if (br != null) {
try {
br.close();
} catch (Exception e) {
}
}
}
return ret;
} }
对手机SD卡的一些操作的更多相关文章
- [计算机故障]为什么我的手机SD卡一打开就是说“你的磁盘未格式化,现在需要格式化吗”?
现在随着智能手机的普及,越来越多的人使用到了手机SD卡.也有的是micro SD(更小一些). 最近一个朋友说,为什么我的手机SD卡插到手机里一打开就是说“你的磁盘未格式化,现在需要格式化吗?” 但是 ...
- 数据恢复软件使用经验-支持U盘,手机SD卡,硬盘数据,解决图片恢复后打不开的问题
数据恢复软件使用经验-支持U盘,手机SD卡,硬盘数据.解决图片恢复后打不开的问题. 用过非常多数据恢复软件.最早EasyRecovery pro.恢复过U盘.手机SD卡,硬盘数据.但如今下载不了最新版 ...
- Android 读取手机SD卡根目录下某个txt文件的文件内容
1.先看activity_main.xml文件: <LinearLayout xmlns:android="http://schemas.android.com/apk/res/and ...
- NUC972当检测到sd卡时,在sd卡驱动中操作gpio开启sd卡的电源,解决sd卡因低电压有时识别不正常的问题
1.根据硬件原理图,找到对应控制sd卡电源的gpio引脚,并在sd卡驱动文件中定义操作改该引脚的宏 2.在sd卡检测函数中,使用glib增加开sd卡电源的操作,如此当sd卡每次被检测到时,驱动中就会自 ...
- android 数据存储<一>----android短信发送器之文件的读写(手机+SD卡)
本文实践知识点有有三: 1.布局文件,android布局有相对布局.线性布局,绝对布局.表格布局.标签布局等,各个布局能够嵌套的. 本文的布局文件就是线性布局的嵌套 <LinearLayout ...
- Android之——清理手机SD卡缓存
转载请注明出处:http://blog.csdn.net/l1028386804/article/details/47375595 眼下,市场上非常多Android手机软件都具有清理SD卡缓存的功能, ...
- android 数据存储----android短信发送器之文件的读写(手机+SD卡)
本文实践知识点有有三: 1.布局文件,android布局有相对布局,线性布局,绝对布局,表格布局,标签布局等.各个布局能够嵌套的.本文的布局文件就是线性布局的嵌套 <LinearLayout x ...
- android 64 sd卡读写的操作
package com.itheima.writesd; import java.io.File; import java.io.FileNotFoundException; import java. ...
- FPGA SD 卡 之 乒乓操作 、同步fifo
这里记录一个实际的需要使用乒乓操作的例子:读sd卡数据的时,在spi的模式下.发送单数据块的读取命令,在回应之后会有 512字节的数据.使用乒乓操作,可以用两个八位的寄存器,就可以完成连续的512字节 ...
随机推荐
- getgrgid()函数
getgrgid(从组文件中取得指定gid 的数据)相关函数 fgetgrent,getgrent,getgrnam表头文件 #include<grp.h>#include<sys/ ...
- mysql 存在该记录则更新,不存在则插入记录的sql
转 http://www.cnblogs.com/zeroone/articles/2298929.html , ‘yourname') ON DUPLICATE KEY UPDATE auto_na ...
- 关于Git和Github
英文原文:Ten Things You Didn't Know Git And GitHub Could Do Git 和 GitHub 都是非常强大的工具.即使你已经使用他们很长时间,你也很有可能不 ...
- React 同构
React 同构 搬运 https://segmentfault.com/a/1190000004671209 究竟什么是同构呢? 同构就是希望前端 后端都使用同一套逻辑 同一套代码 Nodejs出现 ...
- Android04-UI01常用控件
1.常见控件的使用: TextView Button EditText ImageView 1.TextView <TextView android:id="@+id/text_v ...
- Linux Syslog
http://blog.chinaunix.net/uid-677314-id-164215.html http://blog.chinaunix.net/uid-24708340-id-397132 ...
- delphi 实现微信开发
大体思路: 1.用户向服务号发消息,(这里可以是个菜单项,也可以是一个关键词,如:注册会员.) 2.kbmmw web server收到消息,生成一个图文消息给微信,在图文消息中做好自己的url,在u ...
- Android4.2中Phone的P-sensor的应用的分析。
先说现象,现象就是来电话,接通电话,把手机屏幕靠近脸部,遮挡住P-sensor,屏幕变黑了,不遮挡住P-sensor,屏幕就点亮了.接着我们来看看代码流程. 步骤一: 在PhoneGlobals.ja ...
- php操作路径的经典方法
function create_folders($dir){ return is_dir($dir) or ( create_folders( dirname( $dir ) ) and mkd ...
- C#获取单个字符的拼音声母
public class ConvertToPinYing { /// <summary> /// 汉字转拼音缩写 /// < ...