在循环中创建多个FileWriter对象

时间:2012-04-03 18:52:09

标签: java loops iteration filewriter

我需要使用此循环来创建具有不同输出的不同文本文件。现在它创建了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();
}

2 个答案:

答案 0 :(得分:1)

是创建一个FileWriter [] writers = new FileWriter [count]并将每个编写器放在自己的插槽中

答案 1 :(得分:0)

您的代码行为与您描述的不同。它甚至不可能。写入的行不会使用文件名变量xxx。我也不明白你为什么要创建第二个版本来创建FileWriters数组,因为你仍然只使用一个。特别是当你在循环中创建数组时。