android 刪除文件,打開指定的文件類型
public class FileUtils {
/**
* 刪除指定文件
*
* @param fileNames
*/
public static void deleteFiles(String... fileNames) {
if (fileNames.length <= 0)
return;
for (int i = 0; i < fileNames.length; i++) {
File file = new File(fileNames[i]);
if (file.exists())
file.delete();
}
}
/**
* 刪除指定文件夾下的所有文件
*
* @param path
* @return
*/
public static boolean delAllFile(String path) {
boolean flag = false;
File file = new File(path);
if (!file.exists()) {
return flag;
}
if (!file.isDirectory()) {
return flag;
}
String[] tempList = file.list();
File temp = null;
for (int i = 0; i < tempList.length; i++) {
if (path.endsWith(File.separator)) {
temp = new File(path + tempList[i]);
} else {
temp = new File(path + File.separator + tempList[i]);
}
if (temp.isFile()) {
long lastModeify = temp.lastModified();
long current = new Date().getTime();
Log.e("文件創建時間", "current=" + current + " lastModeify="
+ lastModeify);
if (current - lastModeify > (1000 * 60 * 60 * 24 * 3)) {
temp.delete();
}
}
if (temp.isDirectory()) {
delAllFile(path + "/" + tempList[i]);// 先刪除文件夾裡面的文件
flag = true;
}
}
return flag;
}
/**
* 文件是否存在
*
* @param nativePath
* @return
*/
public static boolean isExists(String nativePath) {
File file = new File(nativePath);
return file.exists();
}
/**
* 打開文件的方式
*
* @param f文件對象
*/
public static void openFile(File f, Context context) {
if (!f.exists()) {
Toast.makeText(context, "文件尚未下載,無法查看,請您先下載文件!", Toast.LENGTH_SHORT)
.show();
return;
}
Intent intent = new Intent();
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
intent.setAction(android.content.Intent.ACTION_VIEW);
/* 調用getMIMEType()來取得MimeType */
String type = getMIMEType(f);
/* 設置intent的file與MimeType */
intent.setDataAndType(Uri.fromFile(f), type);
context.startActivity(intent);
}
/* 判斷文件MimeType的method */
private static String getMIMEType(File f) {
String type = "";
String fName = f.getName();
/* 取得擴展名 */
String end = fName
.substring(fName.lastIndexOf(".") + 1, fName.length())
.toLowerCase();
/* 依擴展名的類型決定MimeType */
if (end.equals("m4a") || end.equals("mp3") || end.equals("mid")
|| end.equals("xmf") || end.equals("ogg") || end.equals("wav")
|| end.equals("wma")) {
type = "audio";
} else if (end.equals("3gp") || end.equals("mp4")) {
type = "video";
} else if (end.equals("jpg") || end.equals("gif") || end.equals("png")
|| end.equals("jpeg") || end.equals("bmp")) {
type = "image";
} else if (end.equals("apk")) {
/* android.permission.INSTALL_PACKAGES */
type = "application/vnd.android.package-archive";
} else {
type = "*";
}
/* 如果無法直接打開,就跳出軟件列表給用戶選擇 */
if (end.equals("apk")) {
} else {
type += "/*";
}
return type;
}