2012-04-04 14 views
3

コロン文字にjavaでいくつかの文字列を分割したいと思っています。Java、入力ファイルをコロンで分割する

文字列の形式は、Account:Passwordです。

トークンを分離したい:AccountPassword。これを行う最善の方法は何ですか?それは\n文字を見たとき、あなたがを助ける必要がありますが、上記でsplit()呼び出しは、定義により、readLine()以来、単一要素の配列以外のものを返すことはありませんのでご注意どの部分

+0

どのような問題がありますか? –

+0

私は、USERNAME:PASSWORDのテキストファイルを持っています。各アカウント/パスワードのペアは、それぞれの行にあります。私はファイルを1行ずつ読み込み、ユーザー名とパスワードを独自の変数に入れたいと思っています。 – user1304317

+1

'strLine.split(": ")'はあなたにユーザ名とパスを与えるべきです – mshsayem

答えて

18

最初にアーネスト・フリードマン・ヒルの答えを見てください。

String namepass[] = strLine.split(":"); 
String name = namepass[0]; 
String pass = namepass[1]; 
// do whatever you want with 'name' and 'pass' 
+0

あなたの答えは大いに役立ちます!名前の最初の行を読み込ませる方法がありますか?ファイルを渡し、上記のような変数を設定してから、他のタスクを実行してから、プロセスを繰り返しますが、次の "名前:パス"リストに? – user1304317

+0

コード内のループの内側で、名前を抽出してこの方法でパスし、必要なものを実行してください。 – mshsayem

+0

ああ大丈夫です!また、ランダム。しかし、あなたはJListに追加する方法を知っていますか? – user1304317

5

わからない、停止します。一方、split(":")は、あなたにとって非常に便利なはずです...

+0

split( ":")に変更すると、リスト内の各エントリが複製されます。 – user1304317

+0

'split(": ")'に変更すると、ユーザ名とパスワードが別々の2つの配列要素として与えられます。その時点で自由に自由にできます。つまり、エンタープライズ全体の目標わかりました。 –

+0

":"に変更すると、リストのエントリが複製されます。だから私のリストに6つのエントリがある場合、出力は12組の「ユーザ名:パスワード」 – user1304317

1

split( ":")を使用する必要があります。試してみよう -

import java.util.ArrayList; 
import java.util.List; 

class Account { 
    String username; 
    String password; 

    public Account(String username, String password) { 
     super(); 
     this.username = username; 
     this.password = password; 
    } 

    public String getUsername() { 
     return username; 
    } 

    public void setUsername(String username) { 
     this.username = username; 
    } 

    public String getPassword() { 
     return password; 
    } 

    public void setPassword(String password) { 
     this.password = password; 
    } 

} 

class Solution { 
    public static void main(String[] args) { 
     while(.....){//read till the end of the file 
      String input = //each line 
      List<Account> accountsList = new ArrayList<Account>(); 
      String splitValues[] = input.split(":"); 
      Account account = new Account(splitValues[0], splitValues[1]); 
      accountsList.add(account); 
     } 
     //perform your operations with accountList 
    } 
} 

希望します。

+0

それは実際にボールが少し転がってしまいます! 1つの変数に "sans"を入れ、別の変数に "pass"する方法は? – user1304317

+0

編集済みの回答を参照してください。私はゲッターとセッターを使用していませんが、それでもあなたはそれらを使うことができます。 – sgowd

関連する問題