java大文件首行追加,java中实现,在大文件的第一行添加内容
需求描述:
最近在写一个定时任务,发送多次请求到接口,接口返回报文写入到一个文件中,文件要求格式第一行为总数。这个总数只能在最后的时候才能知道,
这就相当于提出了一个要求:在文件的第一行添加内容,以前的内容整体向下偏移一行。
遇到的问题:
我开始做的方法是,在代码中 new StringBuffer ,等全部报文返回后,把返回的报文先全部保存到buffer中,用PrintWriter写入总数到文件,再将返回报文写入。可在实际代码运行中,由于每次返回的报文都存入到buffer中,返回的报文对象被buffer对象引用,没有释放掉,所以占用内存很大。折腾了半天不可行。只能换一种思路了。这个文件大小是50多M,内存几百兆没了。
那既然一次性保存到buffer中不行,那就返回一次报文就保存到本地临时文件中tmpFile,最后在另一个文件dinsFile中先写入总数,从tmpFile没读取一行,就写入到dinsFile。一开始没想到用Scammer这个类,从网上看其他网友的博文才发现正适合,还是很菜,多多学习。
这样占用内存的问题就解决了。下面上代码:
public class QueryBondBalTask extends BaseService{
private String url;
private Logger logger = Logger.getLogger(QueryBondBalTask.class);
public void setUrl(String url) {
this.url = u
java大文件首行追加,java中实现,在大文件的第一行添加内容相关推荐
- Linux 命令行访问名字中包含空格的文件或文件夹
Linux 命令行访问名字中包含空格的文件或文件夹 在 Windows 下命名文件或文件夹名有空格是可以的,甚至在 Windows 和 Ubuntu 虚拟机共享的文件中也可以这么做,但是在 Ubunt ...
- 一个执着淫欲的乐受者会认为他的乐受是在色、想、行、识中;认为色、想、行、识是我,在受中住。...
愚痴无闻凡夫把内色外色一一都当做我:把受.想.行.识当做我,色是我所有:认为色在受.想.行.识中,即是认为心是我,而身体是在心中:受.想.行.识在色中,即是心是我,在身体中住. 把六受身当做我:把色. ...
- 【无标题】excel中query编辑器修改数据类型、第一行做标题、计算行数
1.1 修改数据类型.第一行做标题.计算行数 打开excel数据表格 进入query编辑页面 修改列数据类型 将标题作为第一行.将第一行作为标题 处理结果 再点击将第一行作为标题,既可回复原来标题. ...
- java 多个类共用属性_java中读写Properties属性文件公用方法详解
前言 大家都知道Java中有个比较重要的类Properties(Java.util.Properties),主要用于读取Java的配置文件,各种语言都有自己所支持的配置文件,配置文件中很多变量是经常改 ...
- java 输出文件到mac路径_Java 中几种获取文件路径的方式
原标题:Java 中几种获取文件路径的方式 1. 前言 Java开发中我们经常要获取文件的路径,比如读取配置文件等等.今天我们就关于文件的路径和如何读取文件简单地探讨一下. 2. 文件的路径 文件的路 ...
- java点击图片发出声音_Java 中图片和声音文件的加载
/* * 本程序实现以下效果: * 1.界面显示一个按钮,按钮初始为红色. * 2.将鼠标移到按钮上时,按钮呈蓝色. * 3.点击鼠标,有声音效果. * 4.鼠标离开按钮时,按钮恢复成红色. */ i ...
- java查找第k大的数字_查找数组中第k大的数
问题: 查找出一给定数组中第k大的数.例如[3,2,7,1,8,9,6,5,4],第1大的数是9,第2大的数是8-- 思考:1. 直接从大到小排序,排好序后,第k大的数就是arr[k-1]. 2. ...
- android 文件删除命令大全,Android中删除sdcard里文件的命令
Android中删除sdcard里文件的命令 有时我们需要删除android模拟器或手机上的sd卡文件,特别是模拟器上的,这时我们就需要借助于一些命令来帮助我们删除文件. 复制代码 代码如下: #重新 ...
- python解压到指定文件夹_在Python中压缩和解压文件
Python部落(python.freelycode.com)组织翻译,禁止转载,欢迎转发. 如果你已经使用计算机一段时间,你可能遇到了.zip扩展名的文件.它们是可以保存许多其他文件,文件夹和子文件 ...
最新文章
- c 判断文件是否存在_C语言编程之怎样判断某一文件是否存在
- cf D. Powerful array 莫队算法
- C语言再学习 -- 声明与定义
- org.activiti.engine.ActivitiOptimisticLockingException updated by another transaction concurrently
- 【JS新手教程】LODOP打印复选框选中的任务或页数
- 字节大战腾讯元宇宙;Docker 自己定制镜像;VMware 云桌面助力秦皇岛市第一医院;微软开源 Cloud Katana;...
- nginx设置跨域问题
- C++ STL vector容器的插入和删除
- 添加文件夹语音_微信语音导出方法大全,微信群语音转发只需3步
- 醒醒吧!只努力了一个礼拜就想成功,你不觉得无耻吗?
- 泛微发布亿元补贴计划,推动移动办公普及
- 百度网盘不限速下载方法全解(验证、体会、转载)
- 【转载】机器指令计算机
- THINKPADT400安装XP蓝屏
- iPhone 各大机型设备号
- The superclass javax.servlet.http.HttpServlet was not found on the Java Build Path类似问题简单解决方案
- 每日方法分享:手机怎么录屏?
- A040_SpringMVC进阶_JSON
- mongodb 跟踪SQL语句及慢查询收集
- canvas实战之酷炫背景动画(二)