PrintWriter с циклом for - PullRequest
       15

PrintWriter с циклом for

0 голосов
/ 16 апреля 2011

У меня есть цикл перечисления всех возможных комбинаций последовательности.Я использую цикл for и получаю правильные результаты в консоли, но мой выводимый текстовый файл несовместим.

    import java.io.*;
import java.io.PrintWriter;

public class WriteFile {
    public static void main (String args[]) throws FileNotFoundException {
        brute("12345", 5, new StringBuffer());
    }
    static void brute(String input, int depth, StringBuffer output) throws FileNotFoundException {



    PrintWriter pw =
                new PrintWriter("/Users/evanlivingston/test.txt"); 
            if (depth == 0) {   
                System.out.println(output);

            } else {
                for (int i = 0; i < input.length(); i++) {  
                     pw.println(output);  
                    output.append(input.charAt(i));
                    brute(input, depth - 1, output);
                    output.deleteCharAt(output.length() - 1);    
                }
                pw.flush();
                pw.close();

            }
        }
    }

Я не уверен, что происходит неправильно.

1 Ответ

1 голос
/ 16 апреля 2011

Каждый раз, когда вы создаете новый PrintWriter, он начинает запись в файл с начала.Попробуйте записать в свой файл после того, как вы создали output

 static void brute(String input, int depth, StringBuffer output) throws FileNotFoundException {

            if (depth == 0) {   
                System.out.println(output);

                PrintWriter pw =
                            new PrintWriter("/Users/evanlivingston/test.txt"); 
                pw.println(output); 
                pw.flush();
                pw.close();

            } else {
                for (int i = 0; i < input.length(); i++) {  
                    output.append(input.charAt(i));
                    brute(input, depth - 1, output);
                    output.deleteCharAt(output.length() - 1);    
                }

            }
        }
...