将字符串从文本文件解析为日期

时间:2011-09-17 12:25:57

标签: java filereader

我正在尝试从文本文件中读取日期,然后将String解析为日期,以便我可以将其读入我的数组中。我在尝试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 parse(java.lang.String $ 1)throws java.text.ParseException:”可以抛出已检查的异常“java.text.ParseException”。所以它的调用必须包含在捕获异常的try语句中,否则必须声明此方法以抛出异常

1 个答案:

答案 0 :(得分:4)

您正在捕获IOException,但您没有捕获或声明ParseException。

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