zoukankan      html  css  js  c++  java
  • 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;
            }
        }
  • 相关阅读:
    [Effective C++ --009]确定对象被使用前已先被初始化
    [Effective C++ --008]别让异常逃离析构函数
    [Effective C++ --007]为多态基类声明virtual析构函数
    [Effective C++ --006]若不能使用编译器自动生成的函数,就该明确拒绝
    [Effective C++ --005]了解C++默默编写并调用哪些函数
    [000]socket通信--server和client实现的简单例子
    [014]模板-模板实参推导
    [013]模板-非类型模板参数
    [012]泛型--lambda表达式捕获
    U3d keyCode值对应的按键
  • 原文地址:https://www.cnblogs.com/lizm166/p/8108515.html
Copyright © 2011-2022 走看看