gpt4 book ai didi

JAVA 根据 2 个输入从文件中删除行

转载 作者:行者123 更新时间:2023-12-02 03:44:38 25 4
gpt4 key购买 nike

我正在创建一个存储书籍、书籍 ID 和书籍类型的程序。我能够根据输入从文件中删除行,但由于这可能会导致用户删除整个类型的书籍,因此我希望用户需要输入书名和书籍 ID,这应该是在以 # 分隔的同一行中,例如 JamesandtheGiantPeach#01#Family。有没有办法让我使用多输入JOptionPane.showInputDialog,以便它要求用户输入书名和ID,然后删除它们在一行中的行?

我环顾四周,找到了使用扫描仪类的答案,但不知道如何使用JOptionPane来做到这一点。不过,我知道如何创建多输入 Pane 。

static void removeMovie() throws IOException {
try {

File inFile = new File("books.txt");

if (!inFile.isFile()) {
System.out.println("Parameter is not an existing file");
return;
}


File tempFile = new File("books.txt" + "1");

BufferedReader br = new BufferedReader(new FileReader(inFile));
PrintWriter pw = new PrintWriter(new FileWriter(tempFile));

String line = null;

String removeLine = JOptionPane.showInputDialog("Enter line to remove");


while ((line = br.readLine()) != null) {
if (!line.trim().contains(removeLine)) {
pw.println(line);
pw.flush();
}
}

pw.close();
br.close();

//Delete the original file
if (!inFile.delete()) {
System.out.println("Could not delete file");
return;
}


if (!tempFile.renameTo(inFile)) {
System.out.println("Could not rename file");
}

} catch (FileNotFoundException ex) {
ex.printStackTrace();
} catch (IOException ex) {
ex.printStackTrace();
}
}
}

最佳答案

我建议使用JDialog。创建扩展JDialog的类。在这个类(class)中你可以创造任何你想要的东西。 JDialog 具有 JFrame 和 JDialog 的构造函数,因此您可以将框架作为父级,并在确认后从父级删除 fire 方法以从文件中删除书籍

关于JAVA 根据 2 个输入从文件中删除行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36418349/

25 4 0
文章推荐: java - 从线程更新 gui(另一个类)
文章推荐: java - 将 Array 从一个 Activity 传递到另一个 Activity