java 。如何将文本 append 到 file.txt 的顶部

标签 java file text append java-io

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

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

Peter
John
Alice

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

Jennifer 

应该是:

Jennifer
Peter
John
Alice

我有部分代码,但是它将数据 append 到文件末尾,我需要让它在文件顶部添加文本:

    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);
        }
    }

感谢您的帮助。

最佳答案

File mFile = new File("src/lt/test.txt");
FileInputStream fis = new FileInputStream(mFile);
BufferedReader br = new BufferedReader(fis);
String result = "";
String line = "";
while( (line = br.readLine()) != null){
 result = result + line; 
}

result = "Jennifer" + result;

mFile.delete();
FileOutputStream fos = new FileOutputStream(mFile);
fos.write(result.getBytes());
fos.flush();

思路是全部读完,在前面加上字符串。删除旧文件。使用编辑的字符串创建新文件。

关于 java 。如何将文本 append 到 file.txt 的顶部,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16665124/

相关文章:

java - 将一个对象的引用传递给另一个类中的另一个方法

java - 将文件从单元测试保存到项目树

java - 未安装应用程序的应用程序信息

java - 按目录和子目录获取文件名

c - 如何在C语言中查找文本文件中的字符串?

java - 在Java中获取以秒为单位的日期表示

java - GraphStream - 使用 netstream 的问题

java - 我正在尝试在文件中写入数组字节,但我不能。 (我可以在文件系统中创建此文件,并且连接正常)。任何帮助将不胜感激

javascript - 带图像的 DIV 内的文本分页

ios - 在 IOS 上,您可以让 QLPreviewController 将某些文件视为文本吗?