私は現在、テキスト ドキュメントをストリーミングしてトークン化するプロジェクトに取り組んでいます。唯一の問題は、テキスト ドキュメントの型が不明であることです。プログラムで変数に設定する前に、変数の型を確認する方法はありますか?
1 に答える
2
いいえ、タイプ情報はテキスト ストリームに含まれていないためです。たとえば、トークナイザーが次のトークンに遭遇したとします。
47
これにはどんな種類がありますか?String ( "47")、byte、int、long、float、または double のいずれかです。これらの型はすべてそのトークンを生成した可能性があるため、出力される前に型が何であったかを知る方法はありません。
ファイルを解析するときは、予想されるタイプをすでに知っている必要があり、一致しない場合はエラーが発生します。
StringTokenizerクラスは文字列のみを返します。文字列が必要な場合は、それらを変数に保存するだけです。別のタイプを期待している場合は、それを解析する必要があります。たとえば、 string を読み取る場合は、Integer.parseInt"47"を介して実行する必要があります。これは int (例: ) を返すか、一致しなかった場合は NumberFormatException をスローします。テキスト ファイルが予期したものと一致しなかったため、NumberFormatException をキャッチして、ユーザーにエラーを表示することができます。47
于 2011-03-29T02:45:13.640 に答える