• java修改文件内容


           文件的读和写,大家都不陌生,但是修改呢?按照普通的读写流去修改的话,只能全部读取出来,在内存中修改好后,全部写进去,这样对于文件内容过多的时,性能很低。

    最近在遇到这个问题的时候,发现RandomAccessFile这个类正好能解决我的问题,废话不多说,下面直接贴代码,分享给大家,有不对的地方欢迎指教,谢谢

        /**
         * 修改文件内容
         * @param fileName
         * @param oldstr
         * @param newStr
         * @return
         */
        private static boolean modifyFileContent(String fileName, String oldstr, String newStr) {
            RandomAccessFile raf = null;
            try {
                raf = new RandomAccessFile(FILEPATH+"/"+fileName, "rw");
                String line = null;
                long lastPoint = 0; //记住上一次的偏移量
                while ((line = raf.readLine()) != null) {
                    final long ponit = raf.getFilePointer();
                    if(line.contains(oldstr)){
                          String str=line.replace(oldstr, newStr);
                    raf.seek(lastPoint);
                    raf.writeBytes(str);
                    }
                    lastPoint = ponit;
                }
            } catch (Exception e) {
                e.printStackTrace();
            } finally {
                try {
                    raf.close();
                } catch (IOException e) {
                    e.printStackTrace();
                }
            }
            return true;
        }

  • 相关阅读:
    js函数——倒计时模块+无缝滚动
    一步步编写avalon组件02:分页组件
    mvc5+ef6+Bootstrap 项目心得--身份验证和权限管理
    只用css实现“每列四行,加载完一列后数据自动填充到下一列”的效果
    某考试 T1 arg
    vijos 2035 奇数偶数与绚丽多彩的数
    bzoj 5093: [Lydsy1711月赛]图的价值
    [HEOI2016/TJOI2016]求和
    [TJOI2015]概率论
    Codeforces 616 E Sum of Remainders
  • 原文地址:https://www.cnblogs.com/XiaoyangBoke/p/7468268.html
Copyright © 2020-2023  润新知