2012-04-03 11 views
0

異なる出力を持つ異なるテキストファイルを作成するには、このループを使用する必要があります。今、それはこのように見える3つのファイルを作成します。ループ内に複数のFileWriterオブジェクトを作成する

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

私の考えは、私は必要なだけojectsが存在することになるように、オブジェクトFw[it]に名前を付けることにより、複数のFileWriterクラスオブジェクトを作成することでした。残念ながら、私はそれを行うことはできません。 ループ内に複数の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 = some text 
texts3.txt = some text 

texts1.txt = some text 
texts2.txt = texts1.txt + some text 
texts3.txt = texts2.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 =新しいFileWriter [count]を使用して、各ライターを独自のスロットに配置します。

+0

ありがとうございますが、私はまだこのような3つのファイルを作成して同じ問題が発生します:texts1.txt = some text、texts2.txt = texts1.txt + some text and texts3.txt = texts2.txt + text。ただし、これは次のようにする必要があります:texts1.txt = some text、texts2.txt = some text、texts3.txt = some text – John

0

コードは記述どおりに動作しません。それは可能でもありません。書き込みを行う行は、ファイル名変数xxxを使用しません。私はまた、あなたがまだ一度に1つだけを使用しているので、FileWriterの配列を作成する2番目のバージョンを作った理由を理解していません。特にループ内に配列を作成しているときはそうです。

関連する問題