当前位置: 首页 > news >正文

Java实现删除txt第一行

如果您的文件很大,则可以使用以下方法在不使用临时文件或将所有内容加载到内存中的情况下执行删除.

public static void removeFirstLine(String fileName) throws IOException {  
    RandomAccessFile raf = new RandomAccessFile(fileName, "rw");          
     //Initial write position                                             
    long writePosition = raf.getFilePointer();                            
    raf.readLine();                                                       
    // Shift the next lines upwards.                                      
    long readPosition = raf.getFilePointer();                             

    byte[] buff = new byte[1024];                                         
    int n;                                                                
    while (-1 != (n = raf.read(buff))) {                                  
        raf.seek(writePosition);                                          
        raf.write(buff, 0, n);                                            
        readPosition += n;                                                
        writePosition += n;                                               
        raf.seek(readPosition);                                           
    }                                                                     
    raf.setLength(writePosition);                                         
    raf.close();                                                          
}         
请注意,如果您的程序在上述循环中间终止,则最终可能会出现重复的行或损坏的文件.

ast*_*eri  9

Scanner fileScanner = new Scanner(myFile);
fileScanner.nextLine();
这将从文件返回第一行文本并将其丢弃,因为您不将其存储在任何位置.

要覆盖现有文件:

FileWriter fileStream = new FileWriter("my/path/for/file.txt");
BufferedWriter out = new BufferedWriter(fileStream);
while(fileScanner.hasNextLine()) {
    String next = fileScanner.nextLine();
    if(next.equals("\n")) 
       out.newLine();
    else 
       out.write(next);
    out.newLine();   
}
out.close();
请注意,您必须以IOException这种方式捕捉和处理某些内容.此外,if()... else()...语句在while()循环中是必要的,以保持文本文件中存在任何换行符.

http://www.lryc.cn/news/93352.html

相关文章:

  • Go语言函数式编程库samber/lo
  • 自定义杰理AC63系列BLE数据发送函数
  • Jenkins结合gitee自动化部署SpringBoot项目
  • 声强级和声压级之间的转换举例
  • 16 粒子滤波
  • 【appium】appium自动化入门之API(下)——两万字API长文,建议收藏
  • 开发改了接口,经常忘通知测试的解决方案!
  • Beyond Compare 4 无法打开
  • MySQL高级数据操作
  • 硬件设计电源系列文章-DCDC转换器基础知识
  • XdsObjects .NET 8.45.1001.0 Crack
  • 数据安全--17--数据安全管理之数据传输
  • SpringSecurity实现前后端分离登录token认证详解
  • Vue3_ElementPlus_简单增删改查(2023)
  • vue中重写并自定义console.log
  • 基于OpenCV 和 Dlib 进行头部姿态估计
  • 24个Jvm面试题总结及答案
  • freemarker 生成前端文件
  • Pycharm+pytest+allure打造高逼格的测试报告
  • Mybatis-Plus中update更新操作用法
  • 16道JVM面试题
  • HttpRunner 接口自动化测试框架实战,打造高效测试流程
  • 手写一个webpack插件(plugin)
  • jvm常见面试题
  • TF-A 项目的长期支持介绍
  • 企业电子招标采购系统源码java 版本 Spring Cloud + Spring Boot
  • 7.Mysql 事务底层
  • 15.DIY可视化-拖拽设计1天搞定主流小程序-分类联动文章列表实时刷新
  • 【SpringCloud】二、服务注册发现Eureka与负载均衡Ribbon
  • 图形学实验(完整文件见上传)