2012-12-20 3 views
1

저는 스톱워치 용 Gui가 있으며 시작 단추, 중지 단추 및 "Split"단추와 Save Splits 단추가 있습니다. 스톱워치 기록은 분할 내가 파일에 기록 할 수 있도록하고 싶습니다하지만 난에 오류가 있습니다파일에 쓰는 데 문제가 있습니다.

FileWriter splitsWriter= new FileWriter("a.txt"); 
for(int i=0;i<theSplits.size();i++){ 
    splitsWriter.write(theSplits.get(i)); 
} 

그것은 Unhandled exception type IOException라고하지만 난 그게 왜 존재하지 않는 경우 작가가 파일을 만듭니다 생각 이 예외가 문제가되어야합니까? 그냥 혼란 스럽네요.

+3

catch 블록을 추가하고 IOException의 세부 정보를 가져와야합니다. 어쩌면 그것은 "액세스 거부"또는 다른 오류입니다. – pstrjds

+0

흠 나는 왜 그것이 컴파일러 오류인지 이해하지 못한다. FileReader/FileWriter를 많이 사용하지는 않았지만, 일주일 전에 뭔가를 사용했기 때문에이 문제가 발생하지 않았다. – user1918163

+0

catch 블록이 없으면 컴파일 오류가 발생합니다. 난 당신이 처리되지 않은 IOException 프로그램에 의해 던져지고있어 줄 알았는데. catch 핸들러가있을 때까지는 컴파일 할 수 없습니다. 알렉스의 대답을보십시오. – pstrjds

답변

1

pstrjds처럼 이미 try/catch 블록을 추가해야합니다. 귀하의 코드는 다음과 같아야합니다 :

try { 
    FileWriter splitsWriter= new FileWriter("a.txt"); 
    for(int i=0;i<theSplits.size();i++){ 
     splitsWriter.write(theSplits.get(i)); 
    } 
} catch (IOException e) { 
    // Do something to handle the exception 
} 

이것은 컴파일해야합니다.

+0

오류없이 컴파일하고 실행하며 텍스트 파일을 만들지 만 실제로는 쓰지 않지만 생각할 수는 있습니다. 편집 : woops 작성자를 닫는 것을 잊어 버렸습니다. 현재 잘 작동합니다. 도와 주셔서 감사합니다! – user1918163

+0

스트림을 닫는 것을 잊지 마십시오. 그래서 for (...) {} 후에 splitsWriter.close();를 써야합니다. – Alex

관련 문제