阿坤973 2023-02-28 23:33 采纳率: 28.6%
浏览 95
已结题

java怎么在文件首行写记录

假如我有一个三个G的文件,现在我想要在它的首行添加一些信息,要怎么做比较合适?不能占用过多的系统资源

  • 写回答

7条回答 默认 最新

  • pzzhao 2023-03-01 00:22
    关注

    找了好久也只找到这个类可以在任意位置输入,只不过这个会覆盖之后的内容,也就是你写入多少数据,开头的多少数据就会被覆盖。
    其他的方案,基本上都是要将文件内容全部读取,然后将内容拼接在首行之后。
    如果你的文件可以保证前面一定位置的内容都是空,可以尝试下面这种方式去添加首行。

            String filename = "111.txt";
            // 打开一个随机访问文件流,按读写方式
            try(RandomAccessFile randomFile = new RandomAccessFile(filename, "rw");) {
                // 将写文件指针移到文件尾。
                randomFile.seek(0);
                randomFile.write("这个是文件头".getBytes(StandardCharsets.UTF_8));
    
            } catch (IOException e) {
                e.printStackTrace();
            }
    
    
    评论

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 3月6日
  • 创建了问题 2月28日