Java实现文本创建、删除、编辑内容
Java实现文本创建、删除、编辑内容
1,创建文本代码:
/** * 创建文件并追加内容 * * @param fileName 要删除的文件的文件名(全路径) * @param Content 内容 * @return */ public static void writeContentToTxt(String fileName,StringBuffer Content){ File file = null; File folder = null; FileWriter fw = null; String path = System.getProperty("user.dir")+"\\groupData\\"; try { //如果目录不存在,则目录 folder = new File(path); if(!folder.exists() && !folder.isDirectory()) { folder.mkdirs(); } //如果文件存在,则追加内容;如果文件不存在,则创建文件 file = new File(fileName); if(!file.exists()){ file.createNewFile(); } fw = new FileWriter(file, true); } catch (Exception e) { e.printStackTrace(); } PrintWriter pw = new PrintWriter(fw); pw.println(Content); pw.flush(); try { fw.flush(); pw.close(); fw.close(); } catch (IOException e) { e.printStackTrace(); } }
2,追加内容到文本:
public boolean saveText(List<BaseInfo> list ){ Date dt=new Date(); SimpleDateFormat matter1=new SimpleDateFormat("yyyyMMdd"); String date = matter1.format(dt); boolean flag = true; String filefullpath = Pub.getPropertiesValue("analysis", "dataPathDir")+"_.txt"; File anaylisisFile = new File (filefullpath); for(BaseInfo baseInfo : list ){ StringBuffer suf = new StringBuffer(); suf.append(date); suf.append("|&@"); suf.append(baseInfo.getOp_station()); suf.append("|&@"); suf.append(baseInfo.getIp()); suf.append("|&@"); suf.append(baseInfo.getMac()); suf.append("|&@"); suf.append(baseInfo.getPhone()); suf.append("|&@|"); logger.info("saveTxt suf:"+suf); writeContentToTxt(suf,anaylisisFile); } return flag; }
3,删除文件
/** * 删除文件,可以是文件或文件夹 * * @param fileName * 要删除的文件名 * @return 删除成功返回true,否则返回false */ public static boolean delete(String fileName) { File file = new File(fileName); if (!file.exists()) { System.out.println("删除文件失败:" + fileName + "不存在!"); return false; } else { if (file.isFile()) return deleteFile(fileName); else return deleteDirectory(fileName); } } /** * 删除单个文件(注意:删除文件之前要关闭文件流) * * @param fileName * 要删除的文件的文件名 * @return 单个文件删除成功返回true,否则返回false */ public static boolean deleteFile(String fileName) { File file = new File(fileName); // 如果文件路径所对应的文件存在,并且是一个文件,则直接删除 if (file.exists() && file.isFile()) { if (file.delete()) { System.out.println("删除单个文件" + fileName + "成功!"); return true; } else { System.out.println("删除单个文件" + fileName + "失败!"); return false; } } else { System.out.println("删除单个文件失败:" + fileName + "不存在!"); return false; } } /** * 删除目录及目录下的文件 * * @param dir * 要删除的目录的文件路径 * @return 目录删除成功返回true,否则返回false */ public static boolean deleteDirectory(String dir) { // 如果dir不以文件分隔符结尾,自动添加文件分隔符 if (!dir.endsWith(File.separator)) dir = dir + File.separator; File dirFile = new File(dir); // 如果dir对应的文件不存在,或者不是一个目录,则退出 if ((!dirFile.exists()) || (!dirFile.isDirectory())) { System.out.println("删除目录失败:" + dir + "不存在!"); return false; } boolean flag = true; // 删除文件夹中的所有文件包括子目录 File[] files = dirFile.listFiles(); for (int i = 0; i < files.length; i++) { // 删除子文件 if (files[i].isFile()) { flag = DeleteFileUtil.deleteFile(files[i].getAbsolutePath()); if (!flag) break; } // 删除子目录 else if (files[i].isDirectory()) { flag = DeleteFileUtil.deleteDirectory(files[i] .getAbsolutePath()); if (!flag) break; } } if (!flag) { System.out.println("删除目录失败!"); return false; } // 删除当前目录 if (dirFile.delete()) { System.out.println("删除目录" + dir + "成功!"); return true; } else { return false; } }