在哪里放置PrintStream对象来打印变量java

时间:2011-04-15 01:58:32

标签: java printing

我有一个生成组合和打印到屏幕的代码,我想将它打印到文件但我不知道在哪里放我的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); 
            }
        }   
    }
}

谢谢,

2 个答案:

答案 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块中的变量。