2013-11-26 3 views
0

파일을 읽고 private class arraylist에 저장하려고합니다. 그러나이 컴파일러 오류가 발생합니다. WordList.java:8 :보고되지 않은 예외 Java. io.IOException; 잡히거나 던져 져야한다고 선언해야합니다..txt 파일을 읽고 private arraylist에 저장하려고 시도합니다.

import java.util.*; 
import java.io.*; 
public class WordList 
{ 
    private ArrayList<String> words = new ArrayList<String>(); 
    public void main(String[] args) 
    { 
    ArrayListConstructor("Cities.txt"); 
    System.out.println(words); 
    } 
    public void ArrayListConstructor(String filename) throws IOException 
    { 
    BufferedReader br = null; 
    br = new BufferedReader(new FileReader(filename)); 
    String line = br.readLine(); 
    while (line != null) 
    { 
     this.words.add(line); 
     line = br.readLine(); 
    } 
    br.close(); 
    } 
} 

어떤 도움을 주시면 대단히 감사하겠습니다. 고맙습니다.

+1

던지고 할 잡기 무엇 메소드 이름 – user2573153

답변

0

main

public void main(String[] args) throws IOException 

throws IOException를 추가하거나 방법 ArrayListConstructor에서 IOException이 예외를 던지고있다

public void main(String[] args) 
{ 
    try{ 
     ArrayListConstructor("Cities.txt"); 
    } 
    catch(IOException ex){ 
     ex.printStackTrace(); 
    } 
    System.out.println(words); 

} 
0
package testing; 

import java.io.BufferedReader; 
import java.io.FileReader; 
import java.io.IOException; 
import java.util.ArrayList; 

public class WordList 
{ 
    private static ArrayList<String> words = new ArrayList<String>(); 
    public static void main(String[] args) throws IOException 
    { 
     arrayListConstructor("Cities.txt"); 
     System.out.println(words); 
    } 
    public static void arrayListConstructor(String filename) throws IOException 
    { 
     BufferedReader br = null; 
     br = new BufferedReader(new FileReader(filename)); 
     String line = br.readLine(); 
     while (line != null) 
     { 
      words.add(line); 
      line = br.readLine(); 
     } 
     br.close(); 
    } 
} 
0

try/catch 블록 (문자열 파일 이름) 그래서 때마다 당신의 방법을 포장 이 메서드를 사용하면이 예외를 catch해야합니다.

import java.io.*; 
import java.util.*; 

public class WordList { 

private ArrayList<String> words = new ArrayList<String>(); 

public void main(String[] args) { 
    try { 
     ArrayListConstructor("Cities.txt"); 
    } catch (IOException ex) { 
     System.out.println("Exception occured"); 
    } 
    System.out.println(words); 
} 

public void ArrayListConstructor(String filename) throws IOException { 
    BufferedReader br = null; 
    br = new BufferedReader(new FileReader(filename)); 
    String line = br.readLine(); 
    while (line != null) { 
     this.words.add(line); 
     line = br.readLine(); 
    } 
    br.close(); 
} 
} 

또는이 예외를 던질 수 다시

import java.io.*; 
import java.util.*; 

public class WordList { 

private ArrayList<String> words = new ArrayList<String>(); 

public void main(String[] args) throws IOException { 
    ArrayListConstructor("Cities.txt"); 
    System.out.println(words); 
} 

public void ArrayListConstructor(String filename) throws IOException { 
    BufferedReader br = null; 
    br = new BufferedReader(new FileReader(filename)); 
    String line = br.readLine(); 
    while (line != null) { 
     this.words.add(line); 
     line = br.readLine(); 
    } 
    br.close(); 
} 
} 
+0

을 활용하지? 나는 잡기의 목적을 결코 이해하지 못했지만, 던지기를 사용했을 때 시스템에 오류가 있다는 것을 알리는 것처럼 보였지만 그것을 무시했습니다. @sambaheerathan – Ungeheuer

관련 문제