Разбор строки из текстового файла в дату

Я пытаюсь прочитать дату из текстового файла, а затем разобрать строку на дату, чтобы я мог прочитать ее в своем массиве. Я продолжаю получать сообщение об ошибке при попытке 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) генерирует java.text.ParseException:" может генерировать проверенное исключение "java.text.ParseException". поэтому его вызов должен быть заключен в оператор try, который перехватывает исключение, иначе этот метод должен быть объявлен для создания исключения.


person Henning Joubert    schedule 17.09.2011    source источник
comment
Какую ошибку вы получаете для какого ввода?   -  person DerMike    schedule 17.09.2011


Ответы (1)


Вы перехватываете исключение IOException, но не перехватываете или не объявляете ParseException.

Вам нужно либо поймать его, либо объявить, что ваш метод может его генерировать, так как это проверенное исключение.

person rossum    schedule 17.09.2011