5秒ごとにファイルに出力する簡単なクラスを作成したいと思います。
私のコードは次のとおりです。
public class FileLoggerTask implements Runnable
{
private PrintWriter printWriter = null;
private boolean isActive = true;
public FileLoggerTask(PrintWriter printWriter)
{
this.printWriter = printWriter;
}
public void run()
{
while(isActive)
{
printWriter.println("Test line");
try
{
Thread.sleep(5000);
}
catch(InterruptedException e)
{
System.out.println(e);
}
}
}
void closeTask()
{
isActive = false;
}
}
そして、私が書いた1つのボタンのリスナーで:
File file = new File("TestFile.txt");
FileWriter fileWriter = new FileWriter(file);
PrintWriter printWriter = new PrintWriter(fileWriter);
FileLoggerTask fileLoggerTask = new FileLoggerTask(printWriter);
Thread thread = new Thread(fileLoggerTask);
そして、私が書いた別のボタンのリスナーで:
fileLoggerTask.closeTask();
printWriter.close();
私の問題は、5秒ごとにファイルに「テスト行」を書き込みますが、改行を追加しないことです。printWriter.println()またはprintWriter.println( "\ n")を追加しようとしましたが、機能せず、理由がわかりません。
何か提案はありますか?
どうもありがとうございます。