创建目录文件
// 目录文件创建
public static boolean createDir(String dirName) {
String savePath = "D:\\Temp\\upload\\" + dirName;
File dir = new File(savePath);
if (dir.exists()) {
deleteDir dd = new deleteDir();
dd.delete(dirName);
}
if (!savePath.endsWith(File.separator)) {
savePath = savePath + File.separator;
}
// 创建目录
if (dir.mkdirs()) {
System.out.println("创建目录" + dirName + "成功!");
return true;
} else {
System.out.println("创建目录" + dirName + "失败!");
return false;
}
}
删除目录文件(包括子目录)
// 删除目录文件
public void delete(String dirName) {
String savePath = "D:\\Temp\\upload\\" + dirName;
// savePath不以分隔符结尾则自动添加分隔符
if (savePath.endsWith(File.separator))
savePath = savePath + File.separator;
File file = new File(savePath);// 根据指定的文件名创建File对象
//判断文件不为null或文件目录存在
if (file == null || !file.exists()){
System.out.println("文件删除失败,请检查文件路径是否正确");
return;
}
//取得这个目录下的所有子文件对象
File[] files = file.listFiles();
//遍历该目录下的文件对象
for (File f: files){
//文件名
String name = file.getName();
String temp = dirName+"\\"+name;
//判断子目录是否存在子目录,如果是文件则删除
if (f.isDirectory()){
delete(temp);
}else {
f.delete();
}
}
//删除空文件夹 for循环已经把上一层节点的目录清空。
file.delete();
System.out.println("目录" + dirName + "删除成功!");
}
创建TXT文件
// 创建文件
public static void creatLogFile(String username) throws IOException {
String path = "D:\\Temp\\upload\\"+username+"\\"+username+"_log.txt";
File filename = new File(path);
if (!filename.exists()) {
filename.createNewFile();
}
}
写入TXT文件(追加)
//将当前系统时间写入TXT文件
public static void writeFile(String username) {
try {
String file = "D:\\Temp\\upload\\"+username+"\\"+username+"_log.txt";
BufferedWriter out = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(file, true)));
// 覆盖文件内容
// BufferedWriter out = new BufferedWriter(new FileOutputStream(file, true));
Date date = new Date();
SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
System.out.println(formatter.format(date));
out.write(formatter.format(date)+"\r\n"); // \r\n即为换行
out.flush(); // 把缓存区内容压入文件
} catch (IOException e) {
e.printStackTrace();
}
}
创建TXT文件
//读取TXT文件
public static List<String> readFile(String username) {
List<String> list = new ArrayList<String>();
try {
String file = "D:\\Temp\\upload\\"+username+"\\"+username+"_log.txt";
BufferedReader in = new BufferedReader(new FileReader(file));
String str;
while ((str = in.readLine()) != null) {
list.add(str);
}
// 将列表翻转
} catch (IOException e) {
e.printStackTrace();
}
Collections.reverse(list);
return list;
}
时间格式
// 实例化
Date date = new Date();
// 设置格式
SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
System.out.println(formatter.format(date));
file.delete没有删除文件
一般来说 java file.delete失败 有以下几个原因
- 看看是否被别的进程引用,手工删除试试(删除不了就是被别的进程占用)
- file是文件夹 并且不为空,有别的文件夹或文件,
- 极有可能自己前面没有关闭此文件的流(我遇到的情况)
个人认为:首先用手动方式,即在电脑上找到要删除的文件看看能否删除,如果删除不掉,(个人遇到的也是,用到该文件的输入输出流没有关闭。)
仔细检查一下你代码的输入输出流,看看能力是否用了但是没有关闭。
参考文档:https://blog.csdn.net/baicp3/java/article/details/24773817