您的位置:首页 > 其它

创建,删除文件或文件夹及判断其是否存在

2015-07-07 11:21 846 查看
public class FileUtils {
/**
* 删除文件夹下的所有文件或者某一个文件
* @param name 文件名,若为null,删除目录下所有文件
* @param str
*/
public static void deleteFile(String name,String... str) {
try {
if (! exists(name,str)){
return;
}
File file = createFile(name,str);
if (!TextUtils.isEmpty(name)){
file.delete();
return;
}
File[] files = file.listFiles();
for (int i = 0; i < files.length; i++) {
if (!files[i].isDirectory()) {
files[i].delete();
}
}
} catch (Exception e) {
e.printStackTrace();
}
}

/**
* 创建文件夹或者文件
* @param name 文件名
* @param str  文件各级目录
* @return
*/
public static File createFile(String name, String... str) {
File folder = new File(getFilePath(str));
if (!folder.exists()) {
folder.mkdirs();
}
return TextUtils.isEmpty(name) ? folder : new File(folder, name);
}

/**
* 判断文件夹或者文件是否存在
* @param name 文件名
* @param str  文件各级目录
*/
public static boolean exists(String name,String... str){
String path = getFilePath(str);
return TextUtils.isEmpty(name) ? new File(path).exists():new File(path,name).exists();
}

/**
* 将每级目录名拼接成文件夹目录
* @param str  文件各级目录
*/
public static String getFilePath(String... str){
StringBuffer sb = new StringBuffer();
if (str == null) {
throw new RuntimeException("文件目录不能为null");
}
for (int i = 0; i < str.length; i++) {
sb.append(str[i] + File.separator);
}
return sb.toString();
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  文件 文件夹