Javaを使用してファイルから次の形式で読みたいファイルがあります。Javaでフォーマットされたファイルから値を読み取って識別する方法は?
ID,Name,Gender
1,ABC,F
ファイルから値を読み取ることができます。しかし、私は値 'F'を性別、または値 'ABC'が名前であることを確認する方法を知らない。
ユーザー提供の形式でこれらの値を区別するにはどうすればよいですか?
Javaを使用してファイルから次の形式で読みたいファイルがあります。Javaでフォーマットされたファイルから値を読み取って識別する方法は?
ID,Name,Gender
1,ABC,F
ファイルから値を読み取ることができます。しかし、私は値 'F'を性別、または値 'ABC'が名前であることを確認する方法を知らない。
ユーザー提供の形式でこれらの値を区別するにはどうすればよいですか?
私はテーブルを使用すると動作します。
IはSuperCSVようなライブラリを使用することをお勧めします:
https://super-csv.github.io/super-csv/examples_reading.html
それはヘッダを抽出し、それらのヘッダ名と一致するフィールドを持つオブジェクトにデータ値を抽出することができます。
また、コンマを含む値も処理します。
名前フィールドの値が "John、Doe"の場合、値が ""で囲まれている限り、それは単一の値として扱われ、コンマに分割されません。
また、DoubleやDateなどの特定の列の値の書式を定義できるCellProcessorsもサポートしているため、型変換を手動で処理する必要はありません。
@ tak3shi元のファイルはCSVですが、カンマ区切りの単純な構文解析では非常に残念です。 – hexafraction
ヘッダーとして最初の行を使用します。これは、csvを使用する場合に一般的ですが、csvにヘッダー行が含まれているかどうかを確認する一般的な方法はありません。
ID,Name,Gender
1,ABC,F
2,BCE,F
これはCSVファイルのようです。あなたの身分証明書は価値の指標に基づいていますか?例えばインデックス1は名前、2は性別です。あなたが解析しているファイルのフォーマットは何ですか? – Sid
文字列を "、"に分割し、配列の4番目または5番目の要素を取りますか? - https://docs.oracle.com/javase/7/docs/api/java/lang/String.html#split(java.lang.String) – AJPerez
txtファイルまたはcsvファイル – goutthee