我需要一些幫助,請將輸出寫入文件,我無法使其工作。如果我使用System.out.println它可以工作。如果我在實際的方法中創建文件流和Buffered Writer,它會創建文件,但不會寫入任何內容。我假設這是因爲我的方法是遞歸的,並且每次該方法再次調用它時創建一個新文件。所以我創建了另一個打印方法,並使用字符串值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
謝謝。我添加了true,並把out.write()方法下的out.close()試了下來,它工作。我會查找它,但是當我停止程序並重新運行它時,你知道如何清除它嗎? – handro
@handro程序啓動時只需刪除''out.txt''?或者可能保留它並打印一個標記行,告訴程序再次啓動,如果你想保留幾次執行的輸出。 – hyde
感謝您的幫助。當我第一次運行該程序時,我只是將其刪除,並且還修復了我的異常。完美的作品。 – handro