【问题标题】:Add line at the beginning of text file - Java在文本文件的开头添加行 - Java
【发布时间】:2013-12-03 21:36:13
【问题描述】:

我有一个文本文件,上面写着:

Joan
Paul
Carren

我想做的是在java中的列表顶部添加Sean

我在 stackoverflow 上遇到了另一个与此类似的问题,但是,该答案会覆盖名字。

我现在拥有的是:

if (outputFile.exists()) {

            try {

                RandomAccessFile output = new RandomAccessFile(outputFileName, "rw");

                output.seek(0);
                output.write(headerComments.getBytes());

                output.close();

            } catch (IOException e) {

                System.out.println("IO Exception");

            }

        }

文件图片:http://postimg.org/image/pu043d0kv/

【问题讨论】:

    标签: java file file-io


    【解决方案1】:

    在这里Java. How to append text to top of file.txt 提出了类似的问题,但似乎还没有解决

    你可能想试试这个:

    BufferedReader read= new BufferedReader(new FileReader(yourfilename));
    ArrayList list = new ArrayList();
    
    String dataRow = read.readLine(); 
    while (dataRow != null){
        list.add(dataRow);
        dataRow = read.readLine(); 
    }
    
    FileWriter writer = new FileWriter(yourfilename); //same as your file name above so that it will replace it
    writer.append(headerComments);
    
    for (int i = 0; i < list.size(); i++){
        writer.append(System.getProperty("line.separator"));
        writer.append(list.get(i));
    }
    writer.flush();
    writer.close();
    

    【讨论】:

      【解决方案2】:

      创建一个文件copy。假设原始文件是original

      • 将行Sean写入文件copy
      • 对于文件original 中的每一行,复制到文件copy
      • 删除文件original

      【讨论】:

        猜你喜欢
        • 2017-09-11
        • 1970-01-01
        • 1970-01-01
        • 2023-03-07
        • 2011-04-15
        • 1970-01-01
        • 1970-01-01
        • 2016-07-22
        相关资源
        最近更新 更多