栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

从txt文件java中删除一行

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

从txt文件java中删除一行

有什么方法可以做到而无需打开新文件并复制整个文本?

不,没有。当然,如果您想 安全地 做的话就没有。

而且

RandomAccessFile
也不会真正帮助您。它可以让您用相等数量的字节替换文件中的字节序列,但这并不意味着删除一行。

您可以这样使用RAF:

给定初始状态

L1L2L3...LN
替换
L2L3...LN
L3...LN

或者您也可以按照@halfbit的回答,使用RAF一次“滑行”一行。

然而:

  • 在最坏的情况下,您将复制整个文件内容,通常情况下涉及读取和写入行字节

    O(N)

  • 执行此操作的简单方法需要

    O(N)
    在内存中保留行。

  • “滑动”方法需要

    O(N)
    I / O操作(即系统调用)。

  • 最重要的是: 通过就地文件更新删除行是有风险的。如果应用程序在过程中被中断(例如,电源故障),那么您将得到一个损坏的文件。

FWIW:这是不是在Java中的限制 本身 。而是它限制了现代操作系统表示/模型文件的方式。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/440119.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号