Noob问题。必须定义一个显式构造函数错误Java
卡住以下代码。获取“默认构造函数不能处理由隐式超级构造函数抛出的异常类型IOException异常。必须定义一个明确的构造函数”错误的线条以粗体显示
private FileWriter fileWriter = new FileWriter(file); 具体来说,我的问题是.....我如何为filewriter创建一个显式构造函数?
第二个问题:我知道方法appendtoLog不正确。我只想要这个方法来做bufferWriter.write(logInfo),但为此我需要调用已经创建的bufferWriter对象。但正如你所看到的,我已经在另一个方法中实例化了它,防止它被appendtolog方法使用。请在我的方法中建议解决方案或错误。
任何帮助? 谢谢。
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");
}
}
}
是不是有一个原因,你不只是使用[一个正确的日志库](http://logback.qos.ch/)或'java.util.logging'? – 2012-08-16 01:25:45