悟途网移动版

Android

悟途网 > Unix > Android > 正文

android系统下删除指定文件与打开指定的文件类型

2014-03-06 17:28 悟途网 T

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;

}