Java 删除上次输入的值

Java 删除上次输入的值,java,Java,我用java将值保存在文本文件(.txt)中。我使用do while循环执行此操作,直到找到符号*。问题是,当我打印文件内容时,最终值对应于*,我会删除它。我该怎么做 另外,我想检查文本文件中是否存在值,您可以使用equals 这是我的代码: public void In() throws IOException { do { System.out.println("Enter place"); place = t.readLine();

我用java将值保存在文本文件(.txt)中。我使用do while循环执行此操作,直到找到符号
*
。问题是,当我打印文件内容时,最终值对应于
*
,我会删除它。我该怎么做

另外,我想检查文本文件中是否存在值,您可以使用equals

这是我的代码:

public void In() throws IOException {
    do {
        System.out.println("Enter place");
        place = t.readLine();
        if(place == "*") {
            break;
        } else {
            fOUT.writeObject(place);
        }
    }while(!place.equals("*"));
}
你的邮政编码-

if(place == "*") {
  break;
} else {
  fOUT.writeObject(place);
}
可以用无限循环和

 if (!place.equals("*")) {
   fOUT.writeObject(place);
 } else {
   break;
 }
或者使用您当前的循环,其余的可以删除-可能像

boolean c = true;
do {
    System.out.println("Enter place");
    place = t.readLine();
    c = place.equals("*");
    if (!c) {
        fOUT.writeObject(place);
    }
}while(!c);

我很惊讶您的代码能够正常工作,因为它的一部分使用
==
操作符比较字符串。我不明白为什么要这样做,因为您在代码后面正确地使用了
equals(…)
方法。这是怎么回事?谷歌搜索“Java字符串比较”…使用
“*”.equals(place)
。这没问题,但如何删除最后输入的值?@HovercraftFullOfEels基于我对这个问题的理解,他的代码实际上并没有按预期工作,正是因为如此。他将
*
写入文件,因为if上的代码不会中断,而while在do完成之前不会重新计算。