java - 输出不打印到txt文件Java

标签 java permutation printwriter

我正在尝试创建一个程序,打印出字母“AUGC”的所有可能组合。 输出实际上会打印到一个 txt 文件,结果将是一个如下所示的 txt 文件: “AAA 亚美尼亚集团 亚克力 美国大学联盟 亚加” ETC 这是我到目前为止的代码:

import java.io.*;
import java.util.*;
import java.lang.*;

public class Permute {

    static String s = "ACGU";

    static void permute(int level, String prefix) {

        if (level == 0) {
            String fileName = "out.txt";
            PrintWriter outputStream = null;
            try {
                outputStream = new PrintWriter(fileName);
                outputStream.println(prefix);
                System.out.println(prefix);
                outputStream.close();
            } catch (FileNotFoundException e) {
                e.printStackTrace();
            }
            return;
        }
        for (int i = 0; i < s.length(); i++) {
            permute(level - 1, prefix + s.charAt(i));
        }
     }

    public static void main(String[] args) {
        int k = 2;
        permute(k, "");
    }   

}

当前程序将所有输出打印到控制台,仅将最后一个排列打印到 txt 文件。 我希望它能将所有信息打印到两者。

任何帮助将不胜感激

最佳答案

您过早地关闭了 OutputStream。由于您使用的是递归,因此将 OutputStream 作为参数传递给 main 方法中的 permute 方法。在主方法中初始化流并关闭它。

关于java - 输出不打印到txt文件Java,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32001330/

相关文章:

java - ReentrantReadWriteLock - 为什么读者不能获得作者的锁?

java - 从 Java 应用程序调用类路径中的外部 jar

java - MySQL(谷歌云SQL) : User Access denied only from Java

java - 编写 Java 服务器来处理多个并发客户端

c - 打印带重复的排序排列

java - 从另一个方法获取变量

python - 如何在C++中使用STL在低于总长度的位数下创建排列

java - 二维数组的排列

JavaIO : Using scanner and printWriter to copy the contents of a text file and put them in another text file

java - PrintWriter 写入 CSV - 新行不起作用?