一、新写/重命名 文件
/** * 新写/重命名 文件 * @Method: writerData * @author: nanfangzhe_xsz * @date: 2021年8月2日 * @param path 文件目录 * @param txtName 文件名 * @param txt 文件内容 * @param isRename 文件是否重命名旧的,创建新的 * @param isAdd 是否内容追加(不追加就覆盖) * @return boolean */ public static boolean writerData(String path, String txtName, String txt, boolean isRename, boolean isAdd) { String foldPath = path; try { System.out.println("-----------正在创建" + foldPath + "/" + txtName + "-----------"); File textFile = new File(foldPath + "/" + txtName); File dirFile = new File(foldPath + ""); if (!dirFile.exists()) { System.out.println("-----------目录不存在,正在创建" + foldPath + "-----------"); dirFile.mkdirs(); } // 不存在则创建 if (!textFile.exists()) { textFile.createNewFile(); } else { if (isRename) { SimpleDateFormat df = new SimpleDateFormat("yyyyMMddHHmmss");// 设置日期格式 String date = df.format(new Date());// new Date()为获取当前系统时间,也可使用当前时间戳 String filePath = textFile.getAbsolutePath() + date; filePath = filePath.substring(0, filePath.lastIndexOf(".")); filePath = filePath + date + ".js"; boolean renameTo = textFile.renameTo(new File(filePath)); if (!renameTo) { System.out.println("-----------重命名文件出错了!" + foldPath + "/" + txtName + "-----------"); throw new RuntimeException(); } System.out.println("-----------重命名文件完成!" + filePath + "-----------"); boolean mkFile = textFile.createNewFile(); if (!mkFile) { System.out.println("-----------重新创建文件出错了!" + foldPath + "/" + txtName + "-----------"); throw new RuntimeException(); } } } BufferedWriter writer = new BufferedWriter( new OutputStreamWriter(new FileOutputStream(textFile, isAdd), "utf-8")); // 写数据 writer.write(txt); // 刷新流 writer.flush(); // 关闭资源 writer.close(); System.out.println("-----------" + txtName + "创建完成-----------"); return true; } catch (Exception e) { System.out.println("-----------" + txtName + "创建失败-----------"); e.printStackTrace(); return false; } }
二、新写/重命名 文件目录
/** * 文件夹存在:原有的文件夹重命名(带时间);新建 文件夹不存在:新建 * * @Method: mkdirsFold * @author: nanfangzhe_xsz * @date: 2021年8月2日 * @param foldPath 目录地址 * @param isMkdirsRename 目录存在,是否重命名 * @param isNewMkdirs 目录存在,重命名后,是否再新创建 * @return String */ public static String mkdirsFold(String foldPath, boolean isMkdirsRename, boolean isNewMkdirs) { File dirFile = new File(foldPath); try { if (!dirFile.exists()) { System.out.println("-----------正在创建" + foldPath + "-----------"); dirFile.mkdirs(); System.out.println("-----------创建完成" + foldPath + "-----------"); return foldPath; } else { if (isMkdirsRename) { String dirFilePath = dirFile.getAbsolutePath(); SimpleDateFormat df = new SimpleDateFormat("yyyyMMddHHmmss");// 设置日期格式 String date = df.format(new Date());// new // Date()为获取当前系统时间,也可使用当前时间戳 dirFilePath = dirFilePath + date; System.err.println(dirFilePath); boolean renameTo = dirFile.renameTo(new File(dirFilePath)); if (!renameTo) { System.out.println("-----------重命名目录出错了!" + dirFilePath + "-----------"); return null; } if (isNewMkdirs) { boolean mkdirs = dirFile.mkdirs(); if (!mkdirs) { System.out.println("-----------重新创建目录出错了!" + foldPath + "-----------"); return null; } } String path = dirFile.getPath().replaceAll("\\\\", "/") + date; System.out.println("-----------已存在,已重命名并创建。" + path + "-----------"); return path; } return foldPath; } } catch (Exception e) { System.out.println("-----------目录出错了!" + foldPath + "-----------"); e.printStackTrace(); return null; } }
三、查看文件
// 查看文件 public static String readFileContent(String fileName) { File file = new File(fileName); BufferedReader reader = null; StringBuffer sbf = new StringBuffer(); try { reader = new BufferedReader(new FileReader(file)); String tempStr; while ((tempStr = reader.readLine()) != null) { sbf.append(tempStr); } reader.close(); return sbf.toString(); } catch (IOException e) { e.printStackTrace(); } finally { if (reader != null) { try { reader.close(); } catch (IOException e1) { e1.printStackTrace(); } } } return sbf.toString(); }