gpt4 book ai didi

java - 我的 try catch.. 很奇怪,我怎么知道我正在写一个文件

转载 作者:行者123 更新时间:2023-12-01 23:26:36 26 4
gpt4 key购买 nike

我正在尝试将 Person 类型的对象保存到文件中,当我使用 IOEXception 时,我发现这两个对象 工作,但不确定它们是否会进入文件

            bw.write(content);
System.out.println(tree.next());

//确保关闭,否则它将刷新bw.关闭;当我使用如下所示的 try catch 时,只有一个或另一个有效,但是 IOExcetion 都会抛出并 try ...catch 打印树,但我不知道如何使程序将此树保存到文件中

  public static void Save()  {
try{
TreeIterator<Person> tree = new TreeIterator<Person>(phoneBook);
tree.setPreorder();


File file = new File("BSTtree.txt");

// if file doesnt exists, then create it
if (!file.exists()) {
file.createNewFile();
}

FileWriter fw = new FileWriter(file.getAbsoluteFile());
BufferedWriter bw = new BufferedWriter(fw);

while (tree.hasNext()) {

String content = tree.next().toString();
System.out.println(tree.next());

// bw.write(content);

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

}

}

最佳答案

您在迭代器上调用了两次 next()

Person 存储在临时变量中,以便在调用 hasNext() 后仅调用 next 一次:

while (tree.hasNext()) {
Person p = tree.next();
String content = p.toString();
System.out.println(p);
bw.write(content);
bw.close();
}

关于java - 我的 try catch.. 很奇怪,我怎么知道我正在写一个文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19893063/

26 4 0
文章推荐: java - ClassName 的原始类型是否等同于 ClassName