Java将Jtextfiields中的文本文件内容修改为输入

Java将Jtextfiields中的文本文件内容修改为输入,java,swing,Java,Swing,目前我被困在修改部分。我有一个“booklist.txt”: aaa bbb ccc ddd QQwww.eerrr String q=oldID.getText(); String w=newID.getText(); String a=Author.getText(); String r=title.getText(); String t=quantity.getText(); try{ File f= new File

目前我被困在修改部分。我有一个“booklist.txt”:

aaa bbb ccc ddd

QQwww.eerrr

    String q=oldID.getText();
    String w=newID.getText();
    String a=Author.getText();
    String r=title.getText();
    String t=quantity.getText();
            try{
    File f= new File("BookList.txt");
    FileReader fr=new FileReader(f);
    BufferedReader br=new BufferedReader(fr);
    FileWriter fw=new FileWriter(f);
    String line=br.readLine();
    String oldtext="";
    String newtext="";
    String[] tem=new String[4];

    while(line!=null)
    {
    oldtext +=line+System.getProperty("line Seperator");
    tem=line.split("-");
    if(tem[0].equals(q)){
            newtext = oldtext.replaceAll(line,w+"-"+e+"-"+r+"-"+t);
            }     
    }
    fw.write(newtext);        
    fw.close();
    br.close();
            }catch(IOException Ex){Ex.printStackTrace();}
我想要的是从Jtexfields获取输入并替换文本文件中的字符串

例如:
如果我键入的id是qqq(tem[0]),则while循环将读取文本文件中的所有行。如果找到我键入的qqq,请修改其他字符串,即www、eee和rrr。替换这些字符串的输入来自Jtextfields(字符串q、w、e、r、t)

以便使用FileWriter写入文件

这是你应该做的

FileWriter writer=new FileWriter(path);
writer.writeln(newText);
writer.flush();
writer.close();
这将创建一个文件,即使文件路径不存在。 请注意,这将删除文件中的所有内容,内容将被替换。但是,如果不想替换内容,请向FileWriter对象添加如下参数

new FileWriter(path,true);
这将使用您要添加的新内容附加当前内容

更新

我不知道你需要什么 首先,你必须阅读整个文件 第二步需要将整行放入ArrayList,因为ArrayList是动态数组

最后做个比较

Scanner scanner=new Scanner(new File(path));
ArrayList<String>list=new ArrayList<String>();
while(scanner.hasNextLine()){list.add(scanner.nextLine())}

您在哪里定义jtextfield?谢谢您的建议,但我的问题是,我在jtextfield中键入的旧ID是否与文本文件中的ID匹配,那么如何修改我从Jtextfields获取的作为输入的行..那么你想比较两个字符串吗?是的,我想比较两个字符串,这是我键入的id和文本文件中的id。如果两个id匹配,则修改属于该行的字符串
if(list.contains("QQQ"))
{
list.replace("QQ",myNewText)>0
}else list.add(myNewText);