如何在Java中删除文本文件中的最后2行?

如何在Java中删除文本文件中的最后2行?,java,io,Java,Io,我想用java删除文本文件中的最后两行。我尝试了4到5种不同的方法,但是找不到有效的代码。我将按如下方式编辑文件: [ { "example" } ] 我想删除“]”、“}”并添加“example2”。我该怎么做? (我使用的是SE 1.8,可能版本会对此产生影响) 你能推荐什么吗 谢谢。您可以尝试读取文件,然后重新写入,但不包括最后两行: public void removeLastLines() { int lines = 2;

我想用java删除文本文件中的最后两行。我尝试了4到5种不同的方法,但是找不到有效的代码。我将按如下方式编辑文件:

[
    {
        "example"
    }
]
我想删除“]”、“}”并添加“example2”。我该怎么做? (我使用的是SE 1.8,可能版本会对此产生影响)

你能推荐什么吗


谢谢。

您可以尝试读取文件,然后重新写入,但不包括最后两行:

public void removeLastLines() {
    int lines = 2; //This is the number that determines how many we remove
    try(BufferedReader br = new BufferedReader(new FileReader(file))){
        List<String> lineStorage = new ArrayList<>();
        String line;
        while((line=br.readLine()) !=null) {
            lineStorage.add(line);
        }
        try(BufferedWriter bw = new BufferedWriter(new FileWriter(file))){
            int lines1 = lineStorage.size()-lines;
            for(int i = 0; i < lines1; i++) {
                bw.write(lineStorage.get(i));
                bw.newLine();
            }
        }
    }catch(Exception e) {
        e.printStackTrace();
    }
}
public void removeLastLines(){
int lines=2;//这是一个数字,它决定了我们删除多少行
try(BufferedReader br=new BufferedReader(new FileReader(file))){
List lineStorage=new ArrayList();
弦线;
而((line=br.readLine())!=null){
lineStorage.add(行);
}
try(BufferedWriter bw=new BufferedWriter(new FileWriter(file))){
int lines1=lineStorage.size()-行;
对于(int i=0;i
您尝试了哪4或5种方法?我在堆栈溢出上查看了类似的站点,但这些站点上的代码不起作用,或者我无法正确编写