gpt4 book ai didi

Java:递归写入文件

转载 作者:行者123 更新时间:2023-12-02 06:32:28 24 4
gpt4 key购买 nike

好的,这是我的情况:

我有一个递归函数,它正在计算某些内容并将其打印到屏幕上。现在我需要将该输出保存到文件中。

所以我这样做了:

public void recursiveFn(int value) throws FileNotFoundException {
recursiveFn(a);
PrintWriter fileOP = new PrintWriter("file.txt")
fileOp.printf(somevaluefromthisfunction)
}

这种方法的问题是,每次递归调用该函数时,都会创建一个新文件,并且所有先前的递归调用数据都会被删除。

现在我的方法是让文件在此函数之外创建通货紧缩。这就是我所做的:

public class MyClass {
PrintWriter fileOP = new PrintWriter("file.txt") //line 2

public void recursiveFn(int value) {
recursiveFn(a);
fileOp.printf(somevaluefromthisfunction)
}
}

这有什么问题吗?我在第 2 行收到此错误:“未处理的异常类型 FileNotFoundException”。在调试此错误的过程中,我几乎掉了 5% 的头发!

最佳答案

问题是变量初始化可能会引发必须处理的异常。其他人已经展示了几种不同的方法来处理这个问题。在我看来,最好的方法是设置递归方法所需的所有内容(如 PrintWriter),然后调用递归方法。

public class MyClass {
public void doSomething(int value) {
PrintWriter fileOP = new PrintWriter("file.txt");
this.recursiveFn(value,fileOP);
}
public void recursiveFn(int value,PrintWriter fileOp) {
int a = value + 1; // Or whatever
recursiveFn(a,fileOp);
fileOp.printf(somevaluefromthisfunction);
}
}

关于Java:递归写入文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19939038/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com