ヌーブの質問。
次のコードでスタックしました。太字の行で「デフォルトコンストラクターは暗黙のスーパーコンストラクターによってスローされた例外タイプIOExceptionを処理できません。明示的なコンストラクターを定義する必要があります」エラーを取得する
プライベートFileWriterfileWriter= new FileWriter(file); 具体的には、私の質問は.....ファイルライターの明示的なコンストラクターを作成するにはどうすればよいですか?
2番目の問題:メソッドappendtoLogが正しくないことを知っています。このメソッドにbufferWriter.write(logInfo)を実行させたいだけですが、そのためには、すでに作成されているbufferWriterオブジェクトを呼び出す必要があります。しかし、ご覧のとおり、appendtologメソッドで使用できないようにする別のメソッドでインスタンス化しています。plsは私のアプローチの解決策や間違いを提案します。
何か助けはありますか?ありがとう。
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.io.File;
import java.io.FileWriter;
import java.io.BufferedWriter;
import java.io.IOException;
public class Logging {
private DateFormat dateFormat = new SimpleDateFormat("MM-dd-yyyy");
private Date date = new Date();
private File file = new File("c:\\view\\" + dateFormat.format(date) + "\\"
+"\\SmokesLog.txt");
private FileWriter fileWriter = **new FileWriter(file);**
public void createLogFile() throws Exception {
try{
if(!file.exists()){
file.createNewFile();
System.out.println("file name is "+ file.getName());
BufferedWriter bufferWriter = new BufferedWriter(new
FileWriter(file.getName(),true));
bufferWriter.write("Log Started for Test");
}
} catch (IOException e) {
System.out.println("code failed in creating logfile");
}
}
public void appendToLog(String logInfo) throws IOException {
System.out.println("code got to appendToLog method");
// below does not append.need to find better method.
if (file.exists()) {
BufferedWriter bufferWriter = new BufferedWriter(fileWriter);
bufferWriter.write(logInfo);
System.out.println("Done");
}
}
}