2012-04-03 4 views
0

Мне нужно использовать этот цикл для создания разных текстовых файлов с различным выходом. Сейчас он создает 3-файлы, которые выглядят следующим образом:Создание нескольких объектов FileWriter в цикле

texts1.txt = some text 
texts2.txt = texts1.txt + some text 
texts3.txt = texts2.txt + some text 

Моя идея состояла в том, чтобы создать несколько FileWriter объектов класса по имени объекта Fw[it] так, что будет так много ojects как мне нужно. К сожалению, в java я не могу этого сделать. Есть ли альтернативный способ создания нескольких объектов 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(); 
} 

ответ

1

Да создайте FileWriter [] writers = new FileWriter [count] и поместите каждый писатель в свой собственный слот

+0

Спасибо, но я по-прежнему получаю ту же проблему. Он создает 3 файла, которые выглядят так: text1.txt = текст, text2.txt = text1.txt + текст и текст3.txt = text2.txt + некоторый текст. Однако это должно быть так: texts1.txt = некоторый текст, text2.txt = некоторый текст, text3.txt = некоторый текст – John

0

Ваш код не ведет себя так, как вы описали. Это даже не возможно. Строка, которая делает запись, не использует переменную имени файла xxx. Я также не понимаю, почему вы сделали вторую версию, которая создает массив FileWriters, поскольку вы по-прежнему используете только по одному. Тем более, что вы создаете массив внутри цикла.

Смежные вопросы