0

Javaでテキストファイルを扱う場合、この結果を達成する方法はありますか:

私のテキストファイルに以下のデータが含まれていると仮定します(ユーザー番号、名、姓、ユーザー名、ユーザータイプ)

Num010101   James   Jackson   JJ123   Normal_User

これで、ログイン情報 (ユーザー、パスワード) を含む別のファイルができました

JJ123   abc

ユーザーがシステムにログインするときに、.contains(username) を使用して最初のファイルを確認したいのですが、ユーザー名が行内にある場合は、タブで区切られた姓名を出力したいと思いますキャラクター。

ここではマッピングを使用しないことを好みます。1 番目、3 番目、4 番目の値のない行を出力したいと思います。

C++ では通常、マップ ライブラリまたはイテレータ (たとえば、< First_value, Second_Value > および i->first , i->second ) を使用して実行しますが、Java を初めて使用するので、ちょっと行き詰まっています。

印刷で最初、3番目、4番目の値をスキップしたいのですが、それがマッピングではなく探しているものです。

4

2 に答える 2

0

通常、人物に関する情報を含むクラスを作成します。

public class Person{
    String number, first, last, username, type;
}

次に、ファイルを解析して、ファイル内Personの各行のインスタンスを作成します。String.split()これまたはグアバのSplitter.

次に、キーがユーザー名でPersonsある aのセットをマップします。Map<String, Person>

toStringメソッドを実装して、Person好きなようにフォーマットされた姓/名を返すことができます。

于 2012-06-01T10:43:25.063 に答える