를 작동하지 않는 파일로 나는 다음과 같은 코드가 있습니다쓰기 객체는
public static void logMessage(Object msg) {
if (outputStream != null) {
try {
outputStream.writeObject(msg);
outputStream.flush();
} catch (IOException e) {
ErrorPopUp.setMessage(e.toString()).setVisible(true);
}
} else {
if ((logDirectory != null) && (writeLogName != null)) {
try {
setWriteFileName(writeLogName);
outputStream.writeObject(msg);
outputStream.flush();
} catch (IOException e) {
ErrorPopUp.setMessage(e.toString()).setVisible(true);
}
} else {
ErrorPopUp.setMessage("Log file name not set!").setVisible(true);
}
}
}
이 사용
private static boolean setWriteFileName(String name)
throws IOException {
writeLogName = name;
if (logDirectory != null) {
try {
writeLogFile = new File(name);
writeLogFile.createNewFile();
outputStream = new ObjectOutputStream(
new BufferedOutputStream(
new FileOutputStream(
writeLogFile)));
return true;
} catch (IOException e) {
throw e;
}
} else {
ErrorPopUp.setMessage("Log directory name not set!").setVisible(true);
return false;
}
}
, 파일은 내가 할 것으로 예상처럼 생성됩니다,하지만 아무것도 그것으로 기록되지 도착을 .
코드에서 오랫동안 찾고 있기 때문에 필자가 실종되었다는 것이 확실합니다.)
정말 조언 해 주시면 고맙겠습니다.
편집 :
public static void stopLogging() {
try {
if(outputStream != null){
outputStream.close();
}
} catch (IOException e) {
ErrorPopUp.setMessage(e.toString()).setVisible(true);
}
if(writeLogFile != null){
writeLogFile.setReadOnly();
}
outputStream = null;
}
당신이 할 일은 던질 것이라면 예외를 잡을 필요가 없습니다. 디버거를 사용하여이 단계를 수행하면 문제가 무엇인지 분명히 알 수 있습니다. –
문자열이 아닌 객체를 기록 하시겠습니까? – Friesgaard
나는 이미 여러 번 디버깅을 시도했다. 예외는 단지 자리 표시 자일 뿐이며 대체됩니다. 그것을 디버깅, 잘 실행하는 것,하지만 아무것도 끝에 있습니다. 물론 나는 물건을 닫고있다. 이제이 코드를 추가하겠습니다. – Beasly