2011-09-17 54 views
1

我想从文本文件中读取日期,然后将字符串解析为日期,以便将其读入我的数组中。当我尝试Date date = sdf.parse (token.nextToken());时,我不断收到错误消息。我能做些什么来将我从文本文件中读取的字符串转换为日期?从文本文件解析字符串到日期

日期设置

void setDate(Date d) 
{ 
date =d; 
} 

文件读取

void read() 
    { 
     SimpleDateFormat sdf = new SimpleDateFormat ("dd/MM/yyyy"); 
     int cnt = 0; 
     try 
     { 
      FileReader fr = new FileReader ("oefeningtaak.txt"); 
      BufferedReader br = new BufferedReader (fr); 
      boolean canread = true; 
      while (canread == true) 
      { 
       String lyn = br.readLine(); 
       if (lyn == null) 
       { 
        canread = false; 
       } 
       else 
       { 
        array [cnt] = new Mainobject(); 
        StringTokenizer token = new StringTokenizer (lyn, "*"); 
        String students = token.nextToken(); 
        String vak = token.nextToken(); 
        String maxpunt = token.nextToken(); 
        String punt = token.nextToken(); 
        Date date = sdf.parse (token.nextToken()); 
        array [cnt].setStudents (students); 
        array [cnt].setVak (vak); 
        array [cnt].setMaxpunt (Integer.parseInt (maxpunt)); 
        array [cnt].setPunt (Integer.parseInt (punt)); 
        array [cnt].setDate (date); 
        array [cnt].report(); 
        cnt++; 
       } 
      } 
     } 
     catch (IOException err) 
     { 
      System.out.println (err.toString()); 

     } 
    } 

我得到的错误是

的方法“java.util.Date解析(java.lang.String中$ 1)抛出java.text.ParseException:“可以抛出检查异常”java.text.ParseException“。所以它的调用必须包含在捕获该异常,否则这个方法必须声明抛出异常

+1

你输入了什么错误? – DerMike

回答

4

您正在追赶一个IOException try语句,但你不要再追,或声明的ParseException的。

您需要捕捉它或声明您的方法可能会抛出它,因为它是一个检查的异常。