当前位置: 首页 > 面试题库 >

Java。如何将文本追加到file.txt的顶部

潘自强
2023-03-14
问题内容

我需要通过Java将文本添加到文本文件的开头。

例如我有带有数据的test.txt文件:

Peter
John
Alice

我需要添加(到文件顶部):

Jennifer

它应该是:

Jennifer
Peter
John
Alice

我有一部分代码,但是将数据追加到文件末尾,我需要将其添加到文件顶部:

    public static void irasymas(String irasymai){
        try {
         File file = new File("src/lt/test.txt");

                if (!file.exists()) {
                file.createNewFile();
            }

            FileWriter fw = new FileWriter(file.getAbsoluteFile(), true);
            BufferedWriter bw = new BufferedWriter(fw);
            bw.write(irasymai+ "\r\n");
            bw.close();
} 
       catch (IOException e) {
        e.printStackTrace();                
        }
    }

我已经尝试过了,但这只会从文件中删除所有数据,而不会插入任何文本:

public static void main(String[] args) throws IOException {
        BufferedReader reader = null;
        BufferedWriter writer = null;
        ArrayList list = new ArrayList();

        try {
            reader = new BufferedReader(new FileReader("src/lt/test.txt"));
            String tmp;
            while ((tmp = reader.readLine()) != null)
                list.add(tmp);
            OUtil.closeReader(reader);

            list.add(0, "Start Text");
            list.add("End Text");

            writer = new BufferedWriter(new FileWriter("src/lt/test.txt"));
            for (int i = 0; i < list.size(); i++)
                writer.write(list.get(i) + "\r\n");
        } catch (Exception e) {
            e.printStackTrace();
        } finally {
            OUtil.closeReader(reader);
            OUtil.closeWriter(writer);
        }
    }

谢谢你的帮助。


问题答案:

在开始写入之前,可以使用RandomAccessFile来使用方法来
查找 光标并将其0th定位seek(long position)

如本主题所述

RandomAccessFile f = new RandomAccessFile(new File("yourFile.txt"), "rw");
f.seek(0); // to the beginning
f.write("Jennifer".getBytes());
f.close();

编辑: 正如下面许多评论所指出的,此解决方案从一开始就 覆盖 了文件内容。要完全替换内容,可能必须 删除重写 File 。



 类似资料:
  • 问题内容: 如何在注入Jenkins时将文本追加到文件中 我希望看到 25在哪里 这是我的尝试 错误: 版本:= 1.0。$ {env.BUILD_ID}:替换错误 注意文件在当前目录中 问题答案: 是一个groovy变量,而不是一个shell变量。由于您使用了单引号(),因此groovy 不会 替换字符串中的变量,并且Shell也不知道。您需要使用双引号并让groovy进行替换 或使用外壳程序知

  • 问题内容: 我发现os.Open()返回O_RDONLY文件,而os.Create()返回O_RDWR,但是找不到方法返回APPEND文件指针。 有什么帮助吗? 问题答案: 该OpenFile需要一个标志参数,您可以使用: 与O_CREATE一起使用,OpenFile还可以起到与os.Create()相同的作用。

  • 我需要通过Java添加文本到文本文件的乞丐。 例如,我有测试。包含数据的txt文件: 我需要添加(到文件顶部): 它应该是: 我有一部分代码,但它将数据附加到文件末尾,我需要使它添加文本到文件顶部: 我已经试过了,但这只会删除文件中的所有数据,而不会插入任何文本: 谢谢你的帮助。

  • < code>fd.append("upload ",file)产生, 产生, 但我需要这个, 这是我的代码:

  • 问题内容: 在java中如何追加文本到存在的文件中? 问题答案: Java 7+ 如果你只需要执行一次,则使用Files类很容易: 注意:NoSuchFileException如果文件不存在,上述方法将抛出。它还不会自动追加换行符(追加到文本文件时通常会需要此换行符)。 但是,如果你要多次写入同一文件,则上述操作必须多次打开和关闭磁盘上的文件,这是一个缓慢的操作。在这种情况下,使用缓冲写入器更好:

  • 问题内容: 我想用Java中的swingworkerclass循环添加文本。对于前: 我希望与swingworker一起使用,因为我希望看到textarea上的所有更新。对于此代码,我只有在完成处理后才能看到更新。 我不想在其他情况下使用swingworker示例。请在这里给我一些代码。谢谢。 问题答案: SwingWorker不在这里。您的代码未在EDT中运行,因此看不到更新。您可以使用Swin