package com.leamiko.common.utils;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
/**
* Operation about SD card
*
* @Create 2013-6-17
*/
public class SDCardUtils {
/**
* Check the SD card
*
* @return
*/
public static boolean checkSDCardAvailable() {
return android.os.Environment.getExternalStorageState().equals(
android.os.Environment.MEDIA_MOUNTED);
}
/**
* Check if the file is exists
* @param filePath
* @param fileName
* @return
*/
public static boolean isFileExistsInSDCard(String filePath, String fileName){
boolean flag = false;
if (checkSDCardAvailable()) {
File file = new File(filePath, fileName);
if (file.exists()) {
flag = true;
}
}
return flag;
}
/**
* Write file to SD card
* @param filePath
* @param filename
* @param content
* @return
* @throws Exception
*/
public static boolean saveFileToSDCard(String filePath, String filename, String content)
throws Exception {
boolean flag = false;
if (checkSDCardAvailable()) {
File dir = new File(filePath);
if (!dir.exists()) {
dir.mkdir();
}
File file = new File(filePath, filename);
FileOutputStream outStream = new FileOutputStream(file);
outStream.write(content.getBytes());
outStream.close();
flag = true;
}
return flag;
}
/**
* Read file as stream from SD card
*
* @param fileName
* String PATH =
* Environment.getExternalStorageDirectory().getAbsolutePath() +
* "/dirName";
* @return
*/
public static byte[] readFileFromSDCard(String filePath, String fileName) {
byte[] buffer = null;
try {
if (checkSDCardAvailable()) {
String filePaht = filePath + "/" + fileName;
FileInputStream fin = new FileInputStream(filePaht);
int length = fin.available();
buffer = new byte[length];
fin.read(buffer);
fin.close();
}
} catch (Exception e) {
e.printStackTrace();
}
return buffer;
}
/**
* Delete file
*
* @param filePath
* @param fileName
* filePath =
* android.os.Environment.getExternalStorageDirectory().getPath()
* @return
*/
public static boolean deleteSDFile(String filePath, String fileName) {
File file = new File(filePath + "/" + fileName);
if (file == null || !file.exists() || file.isDirectory())
return false;
return file.delete();
}
}