我需要使用此循环来创建具有不同输出的不同文本文件。现在它创建了3个文件,如下所示:
texts1.txt = some text
texts2.txt = texts1.txt + some text
texts3.txt = texts2.txt + some text
我的想法是通过命名对象FileWriter
来创建多个Fw[it]
类对象,以便根据需要提供多个对象。不幸的是,我不能这样做。
有没有其他方法可以在循环中创建多个FileWriter
对象?
int count = 3;
for (int it = 0; it < count; it++) {
String xxx = "texts" + it + ".txt";
FileWriter Fw = new FileWriter(xxx);
Collections.shuffle(list);
Fw.write(met.prnt(list,temp));
Fw.close();
}
好吧它编译并运行但它仍然有同样的问题:它创建了3个看起来像这样的文件:
texts1.txt = some text
texts2.txt = texts1.txt + some text
texts3.txt = texts2.txt + some text
但是,它应该是这样的:
texts1.txt = some text
texts2.txt = some text
texts3.txt = some text
现在代码看起来像这样:
int count = 3;
for (int it = 0; it < count; it++) {
Collections.shuffle(list);
String xxx = "texts" + it + ".txt";
FileWriter hah[] = new FileWriter[count];
hah[it] = new FileWriter(xxx,false);
hah[it].write(met.prnt(list,temp));
hah[it].flush();
hah[it].close();
}
答案 0 :(得分:1)
是创建一个FileWriter [] writers = new FileWriter [count]并将每个编写器放在自己的插槽中
答案 1 :(得分:0)
您的代码行为与您描述的不同。它甚至不可能。写入的行不会使用文件名变量xxx
。我也不明白你为什么要创建第二个版本来创建FileWriters数组,因为你仍然只使用一个。特别是当你在循环中创建数组时。