当前位置: 代码迷 >> Android >> android 剔除文件,打开指定的文件类型
  详细解决方案

android 剔除文件,打开指定的文件类型

热度:44   发布时间:2016-04-28 07:31:12.0
android 删除文件,打开指定的文件类型
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;
}

  相关解决方案