第一个Java程序(将排列写入文件)
|
我正在尝试将重复的组合写入一个文本文件,问题是我试图在不了解Java内部工作的情况下将一些代码合并在一起。我不确定代码重新排列后会产生什么影响。
import java.io.*;
public class Main {
public static void main(String args[]) {
brute(\"123\", 3, new StringBuffer());
}
static void brute(String input, int depth, StringBuffer output) {
if (depth == 0) {
// System.out.println(output);
{
try{
// Create file
FileWriter fstream = new FileWriter(\"out.txt\",true);
BufferedWriter out = new BufferedWriter(fstream);
out.write(\"blah\" + 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);
}
}
}
}
}
任何帮助表示赞赏
没有找到相关结果
已邀请:
1 个回复
娜拐赐巫潭
您每次都打开一个文件并将其写出。没关系(最好将其写入已打开的流中),但是您无需创建
,就可以简化代码。
如果运行此代码,您仍然会发现它不起作用,并且只会在磁盘上产生一个空文件。使用完后,请务必将其关闭。将以上内容更改为:
似乎可以使程序正常工作(代码中存在一些语法错误,例如忘记捕获/抛出已检查的异常,但是我认为这仅仅是因为代码是手动复制的)。 有关如何整理的建议: 每次写入项目时,写入流而不是打开和关闭文件 使用ѭ5来确保您的文件始终关闭,即使发生异常也是如此