出力をファイルに書き込んでください。動作させることができません。System.out.printlnを使用すると、機能します。実際のメソッドでファイルストリームとBufferedWriterを作成すると、ファイルは作成されますが、何も書き込まれません。私のメソッドは再帰的であり、メソッドが再度自分自身を呼び出すたびに新しいファイルを作成するためだと思います。そこで、別の印刷メソッドを作成し、文字列値key [i]を文字列パラメーターとして使用しましたが、何も実行されません。
どんな助けでもありがたいです、ありがとう。
public void print(String s)throws IOException
{
fstream = new FileWriter("out.txt", true);
out = new BufferedWriter(fstream);
try{
out.write("From print: " + s + " ");
out.close();
}catch (Exception e){//Catch exception if any
System.err.println("Error: " + e.getMessage());
}
}
public void generate() throws IOException
{
while (k<randomWordNum())
{
if (randomNum() <= sumOfFreq[0])
{
//System.out.println(getKey[0] + " ");
print(getKey[i]);
i++;
k++;
generate();
}
if (randomNum() >= sumOfFreq[i] && randomNum() <= sumOfFreq[i+1])
{
//System.out.println("From generate: " + getKey[i+1] + " ");
print(getKey[i+1]);
i++;
k++;
generate();
}
else
{
i++;
generate();
}
}//while
}//generate