0

次のようなテキスト (「Contacts.txt」) ファイルがあります。

ペドロ・メレンデス 7823455555 9395554444 myEmail@stack.com

ボブ・ラミレス 8725551234 9452455543 bob.ramirez@stack.com

ルイス・ゴンザレス 8907653456 null luis.gonzalez@stack.com

人の連絡先情報を保存するテキストファイルです。(アンドロイドアプリ用です)

この連絡先情報を連絡先 (リスト) タイプのリストに保存する必要があります。連絡先には次の変数があります。

  • ファーストネーム
  • 苗字
  • 携帯電話
  • 勤務先の電話
  • Eメール

スキャナを使用して、情報をリスト内のテキスト ファイルに保存するにはどうすればよいですか?

私はこれを使用しました:

Scanner in = new Scanner(new File("Contacts.txt");

while(in.hasNextLine()){
        this.contactList.add(new Contact(in.next(), in.next(), in.next(), in.next(), in.next()));
}

しかし、それはうまくいきません。リスト内の情報を保存する最良の方法はどこですか?

ありがとう、

4

2 に答える 2

5

新しい連絡先を作成する前に、行を解析する必要があります

while(in.hasNextLine()){
    String line= in.nextLine();
    String[] tokens = line.split(" ");
    this.contactList.add(new Contact(tokens[0], tokens[1], tokens[2], tokens[3],tokens[4]))

}

あなたが投稿しなかったので、連絡先コンストラクターがどのように見えるかは本当にわかりませんが、アイテムをリストした順序であると想定しました。

また、すべての行が同じように見えると仮定しました。これは、このソリューションが範囲外の例外を取得しない場合、問題のデータがすべて含まれているためです。

于 2013-10-31T14:20:47.560 に答える
0

あなたがしたいことは、テキストから各行を取得し、行を a で分割しspace(行の各部分がスペースで区切られているため)、取得した値でオブジェクトを作成し、オブジェクトをリストに保存することです。

File file = new File("Contacts.txt");
    Scanner in= new Scanner(file);
    while(in.hasNextLine())
    {
         String line = in.nextLine();
         String tokens[] = line.split(" ");
         Contact c = new Contact (tokens[0],tokens[1],tokens[2],tokens[3],tokens[4]) //assume your object is of Contact class
         this.contactList.add(c);
    }
于 2013-10-31T14:21:09.140 に答える