我有一个生成组合和打印到屏幕的代码,我想将它打印到文件但我不知道在哪里放我的PrintStream对象来访问我想要打印的字符串。
public class Main {
public static void main(String args[]) {
brute("12345", 5, new StringBuffer());
}
static void brute(String input, int depth, StringBuffer output) {
if (depth == 0) {
System.out.println(output);
} else {
for (int i = 0; i < input.length(); i++) {
output.append(input.charAt(i));
brute(input, depth - 1, output);
output.deleteCharAt(output.length() - 1);
}
}
}
}
谢谢,
答案 0 :(得分:2)
只需将PrintStream
添加为brute()
方法的参数之一,然后将其传递给递归调用。然后在你的主要你需要:
FileOutputStream fileOut = new FileOutputStream("output.txt");
brute("12345", 5, new StringBuffer(), new PrintStream(fileOut));
答案 1 :(得分:1)
一种方法是使用您的方法写入的静态PrintWriter变量而不是System.out。只需确保在调用递归方法后关闭main方法中finally块中的变量。