我想使用 Java 在文件的最后一行添加一些字符串,但我卡住了,需要帮助:)

I want to add some string in Last Line of File using Java, but i am getting stuck , Need help :)

这是我的代码:

import java.io.File;    
import java.io.FileWriter;    
import java.io.BufferedWriter;    
import java.io.IOException;    

public class Append    
{    
    public static void main( String[] args )    
    {       
        try{    
            String data = " Thank you very much";    

            File file =new File(" ");    

            //if file doesnt exists, then create it    
            if(!file.exists()){    
                file.createNewFile();    
                System.out.println("New File Created Now");    
            }    

            //true = append file    
                FileWriter fileWritter = new FileWriter(file.getName(),true);        
                BufferedWriter bufferWritter = new BufferedWriter(fileWritter);            
                bufferWritter.write(data);    
                bufferWritter.close();    

            System.out.println("Done");    

        }catch(IOException e){    
            e.printStackTrace();    
        }    
    }    
}    

在上面的代码中,我试图在 G://Openone.txt 中添加 "String data = " Thanks you very much"; ",但它无法正常工作,而且我没有得到输出。

        File file =new File(" ");    

应该变成

        File file = new File("G:\Openone.txt");
public static void main( String[] args )    
{       
    try{    
        String data = " Thank you very much";    

        File file =new File(" ");    

        //if file doesnt exists, then create it    
        if(!file.exists()){    
            file.createNewFile();    
            System.out.println("New File Created Now");    
        }    

        //true = append file    
            FileWriter fileWritter = new FileWriter(file,true);        
            BufferedWriter bufferWritter = new BufferedWriter(fileWritter);
            bufferWritter.write(data);
            bufferWritter.close();
            fileWritter.close();

        System.out.println("Done");    

    }catch(Exception e){    
        e.printStackTrace();    
    }    
}  

在下一行中使用文件对象而不是 file.getName()

FileWriter fileWritter = new FileWriter(file.getName(),true);

如果您使用的是 Java 7+,您可以使用:

Files.write(Paths.get("G:\Openone.txt"), "Thank you very much".getBytes(), StandardOpenOption.APPEND, StandardOpenOption.CREATE);

顺便说一句,我建议您重构代码以便使用 finally 块正确管理异常,因为如果在写入行中抛出异常,则不会调用 close 方法。