public static boolean passwordConfirmed() {
String attempt = JOptionPane.showInputDialog("Password: ");
FileReader fstream = null;
String password = "";
try {
fstream = new FileReader("pass.txt");
BufferedReader in = new BufferedReader(fstream);
password = in.readLine();
password.replace("Password: ", " ");
System.out.println(password);
} catch (IOException e) {
e.printStackTrace();
}
if (attempt.equals(password)) {
System.out.print("True");
return true;
} else System.out.println("false");
return false;
}
尝试删除"密码:"从线。 它得到了行"密码:" +之后的文字(密码) 我想删除"密码:",所以我剩下的只是后来的文字。
答案 0 :(得分:4)
始终重新分配。
password = password.replace("Password: ", " ");
字符串在Java中是不可变的,这意味着您无法修改它的现有实例。通过重新分配它,您将把字符串的新值捕获到现有变量中。