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.Dateparse(java.lang.String $ 1)throws java.text.ParseException:"は、チェックされた例外"java.text.ParseException"をスローできます。したがって、その呼び出しは、例外をキャッチするtryステートメントで囲む必要があります。そうでない場合は、このメソッドを宣言して例外をスローする必要があります。

4

1 に答える 1

4

IOExceptionをキャッチしていますが、ParseExceptionをキャッチまたは宣言していません。

これはチェックされた例外であるため、キャッチするか、メソッドがスローする可能性があることを宣言する必要があります。

于 2011-09-17T12:49:31.623 に答える