자바의 파일 입출력 문제입니다...

sadrove의 이미지

A.java 파일의 내용입니다..

-----------생략----------
public class A extends JFrame
{
	public xxx(){
		-----------생략----------
		B mf = new B("test.txt");

	}
	-----------생략----------
}
-----------생략-----------

B.java 파일의 내용입니다..

public class B{
	
	BufferedReader getTxtFileReader(String filename) 
    		throws IOException, FileNotFoundException { 
		return new BufferedReader(new InputStreamReader(new FileInputStream(filename))); 
	}
	
	public B(String title, String owlFileName)
  		throws IOException, FileNotFoundException  {
		super(title);
		
		String l = new String(); 
		BufferedReader r = getTxtFileReader("test.txt"); 
		while (  (l=r.readLine()) != null ) 
		    System.out.println(l);
	}
-----------생략------------
}

위와 같이하면..이클립스에서..
B mf = new B("test.txt");
이 부분에 아래와 같은 메세지가 뜹니다..

Quote:

Multiple markers at this line
-Unhandled exception type FileNotFoundException
-Unhandled exception type IOException

B.java에서 throws IOException, FileNotFoundException 를 해주었는데 왜 그런건가요..?
B 객체를 생성하는 부분마다 모두 throws IOException, FileNotFoundException를 해주어야하는걸까요..?
파일 하나 읽기도 힘드네요..^^
도움 부탁드립니다.[/code]
feanor의 이미지

sadrove wrote:

B.java에서 throws IOException, FileNotFoundException 를 해주었는데 왜 그런건가요..? B 객체를 생성하는 부분마다 모두 throws IOException, FileNotFoundException를 해주어야하는걸까요..?

네, 그렇습니다.

--feanor

카二리의 이미지

throws IOException, FileNotFoundException

바로 처리하지 않으려고 던지셨으면 받아도 주셔야죠~ :twisted:

 B mf = new B("test.txt");

이걸
try{
        B mf = new B("test.txt");
}catch(IOException e){
궁시렁~
}

으로 고쳐 주세요~
(노파심에서.. FileNotFoundException은 IOException을 상속하니깐 IOException만 잡아도 됩니다~)

새 생각 :)

sadrove의 이미지

두분 답변 감사드립니다...
한가지만 더..^^...
알려주신대로 수정해서 되긴 됐는데요....
소스에 액션 리스너가 있거든요...
여기엔 throws IOException을 어느부분에 넣어야 하는건지...

		xxOpenItem.addActionListener(new ActionListener(){
			public void actionPerformed(ActionEvent ae) {
--------------------생략----------------------
B mf = new B("test.txt");
--------------------생략----------------------

			}	
		});

여기서 이벤트가 일어나면 B를 생성해야 하거든요...
처음과 같은 문제가 일어나네요.... :cry:
점심 맛있게 드세요... :wink:

카二리의 이미지

public void actionPerformed(ActionEvent ae) throws IOException{
    mf = new B("test.txt"); 
}
public void actionPerformed(ActionEvent ae){
    try{
        mf = new B("test.txt"); 
    }catch(IOException e){
    }
}

둘중 하나겠죠

새 생각 :)

sadrove의 이미지

두번째 방법으로 하니까 되네요..
감사합니다..

카二리의 이미지

public void actionPerformed(ActionEvent ae) throws IOException{
    mf = new B("test.txt");
} 

이건 틀린 예 입니다. 죄송;

새 생각 :)

vuccell의 이미지

자바로 이것저것 exception처리하기 귀찮으면
main전체에
try{
} catch (Exception e) {

}

하시면 모든 exception을 다 잡으니까.. 저런 컴파일에러는 안 나는듯... 단점은... 뭔 exception인지 알수가 없어서 -,-;;;; java를 C처럼 코딩해야하는.. 움훼훼훼

자바못하는... 글타고 C를 잘하는것도 아닌...

쿠크다스의 이미지

vuccell wrote:
자바로 이것저것 exception처리하기 귀찮으면
main전체에
try{
} catch (Exception e) {

}

하시면 모든 exception을 다 잡으니까.. 저런 컴파일에러는 안 나는듯... 단점은... 뭔 exception인지 알수가 없어서 -,-;;;; java를 C처럼 코딩해야하는.. 움훼훼훼

자바못하는... 글타고 C를 잘하는것도 아닌...


printStackTrace 메쏘드 쓰면....

또는 main 메쏘드 시그내쳐에 throws Exception을 넣어도 됨.

과자가 아닙니다.
cuckoo dozen, 즉.12마리의 뻐꾸기란 뜻입니다.

댓글 달기

Filtered HTML

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

BBCode

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param>
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

Textile

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • You can use Textile markup to format text.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Markdown

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • Quick Tips:
    • Two or more spaces at a line's end = Line break
    • Double returns = Paragraph
    • *Single asterisks* or _single underscores_ = Emphasis
    • **Double** or __double__ = Strong
    • This is [a link](http://the.link.example.com "The optional title text")
    For complete details on the Markdown syntax, see the Markdown documentation and Markdown Extra documentation for tables, footnotes, and more.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Plain text

  • HTML 태그를 사용할 수 없습니다.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 줄과 단락은 자동으로 분리됩니다.
댓글 첨부 파일
이 댓글에 이미지나 파일을 업로드 합니다.
파일 크기는 8 MB보다 작아야 합니다.
허용할 파일 형식: txt pdf doc xls gif jpg jpeg mp3 png rar zip.
CAPTCHA
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.