java如何删除文件的某一行数据呢,前提是文件比较大?:报错 -问答-阿里云开发者社区-阿里云

开发者社区> 问答> 正文

java如何删除文件的某一行数据呢,前提是文件比较大?:报错

2020-06-08 17:01:19 226 1

避免那种把文件采用输入流读取出来,然后修改,然后采用输出流保存到文件这种操作!!

取消 提交回答
全部回答(1)
  • kun坤
    2020-06-08 17:58:07

    把这一行标记为不垃圾数据,而不是删除。######例如把这一行的数据全部标记为在这个文件中不会出现的字符,如||||||||||||||||||||||||||||||||||。至于修改,相当于添加一个新的记录,同时用上面的方法标记已经存在的行为不在使用。过一段时间整理一下这个文件,逐行读取这个文件到新文件,删除掉的行不写入新文件。标记法有个好处。不会影响文件的索引数据。当然更新和新添加的记录需要更新索引。######嗯,是这个意思,怎么标记呢!!其中某一行,已经是写好的了,中间如何修改这一行的数据呢!!###### 无论任何语言,都必须先将文件读入内存里面,然后在内存中操作,再输出到磁盘上。可以使用一些技巧如多线程来加快效率,但是这个基本过程是不会变的。

    ######某种程度上取决于你文件的结构。好比XML文件,有基于事件驱动的解析,也有一次读入到内存的解析方法,各有优缺点,你的文件结构要不好,那也没什么好办法。######首先你自己要想好了,是要节省时间还是要节省空间,节省时间,就尽量读入到内存处理,节省空间,就将文件逻辑上分成几部分,比如分成10份,线程池里放几个线程处理单独一份,统计每一分的处理结果,最后合并######逻辑上内不能分开,就要看你的文件结构合不合理,毕竟你不是仅仅要一个统计结果,而是读写综合的######尽最大能力节省时间,但是文件是二进制文件,数据会比较多,想中间找到某一条数据,直接修改它,应该是找到某一条数据的起始位置,坐标从这个位置开始,把这条数据的长度重新写0。######每次只读一行  然后处理一行写入到新文件里。######这个操作非常频繁,文件还比较大,实时操作文件的,这个方法单一操作ok,实时读写,会跟不上我的时间要求!!!

    0 0
相关问答

40

回答

[@徐雷frank][¥20]什么是JAVA的平台无关性

大河人家 2018-10-29 23:55:20 144740浏览量 回答数 40

162

回答

惊喜翻倍:免费ECS+免费环境配置~!(ECS免费体验6个月活动3月31日结束)

豆妹 2014-10-29 17:52:21 226188浏览量 回答数 162

8

回答

OceanBase 使用动画(持续更新)

mq4096 2019-02-20 17:16:36 337038浏览量 回答数 8

13

回答

[@饭娱咖啡][¥20]我想知道 Java 关于引用那一块的知识

心意乱 2018-10-31 18:44:12 142467浏览量 回答数 13

110

回答

OSS存储服务-客户端工具

newegg11 2012-05-17 15:37:18 295586浏览量 回答数 110

22

回答

爬虫数据管理【问答合集】

我是管理员 2018-08-10 16:37:41 147255浏览量 回答数 22

18

回答

阿里云开放端口权限

xcxx 2016-07-20 15:03:33 646821浏览量 回答数 18

31

回答

[@倚贤][¥20]刚学完html/css/js的新手学习servlet、jsp需要注意哪些问题?

弗洛伊德6 2018-10-27 21:52:43 146055浏览量 回答数 31

42

回答

【精品问答集锦】Python热门问题

小六码奴 2019-05-30 15:27:34 137062浏览量 回答数 42

10

回答

[@墨玖tao][¥20]为什么流式处理框架都是 java 写成的,JVM 是不是在流和批存在着特殊优势。还有分布式资源调度,感觉Mesos 的成长速度跟不上 Yarn。这是为什么?

管理贝贝 2018-10-23 13:18:03 136478浏览量 回答数 10
+关注
0
文章
13401
问答
问答排行榜
最热
最新
相关电子书
更多
《2021云上架构与运维峰会演讲合集》
立即下载
《零基础CSS入门教程》
立即下载
《零基础HTML入门教程》
立即下载