0

これは非常によく聞かれる質問であることは知っていますが、私の問題に対する適切な答えを見つけることができません。このような.TXTファイルから読み取るプログラムとアプリケーションが必要です

Real:Atelti
Alcorcon:getafe 
Barcelona:Sporting

私の質問は、Java に String before : in one ArrayList と Strings after : 別の ArrayList が必要であることを伝えるにはどうすればよいですか?? デリミター法を使っていると思いますが、この場合の使い方がわかりません。

私の下手な英語でごめんなさい、私はそれを改善しなければならないと思います。ありがとう

4

5 に答える 5

1

あなたのテキストが次のような場合:

レアル:アテルティ

アルコルコン:ヘタフェ

バルセロナ:スポーツ

以下を使用して、目的を達成できます。

StringBuilder text = new StringBuilder();
Scanner scanner = new Scanner(new FileInputStream(fFileName), encoding); //try utf8 or utf-8 for 'encoding'
try {
  while (scanner.hasNextLine()){
    String line = scanner.nextLine();
    String before = line.split(":")[0];
    String after = line.split(":")[1];
    //dsw 'before' and 'after' - add them to lists.
  }
}
finally{
  scanner.close();
}
于 2012-08-06T12:00:00.437 に答える
0

1.":"デリミタとして使用します。

2.String[]次に、それらをusingsplit()関数に格納します。

3.BufferedReaderスキャナーの代わりに使ってみてください。

例えば:

File f = new File("d:\\Mytext.txt");
FileReader fr = new FileReader(f);
BufferedReader br = new BufferedReader(fr);
ArrayList<String> s1 = new ArrayList<String>();
ArrayList<String> s2 = new ArrayList<String>();

  while ((br.readLine())!=null){

    String line = br.readLine();

    String bf = line.split(":")[0];
    String af = line.split(":")[1];

    s1.add(bf);
    s2.add(af);

  }
于 2012-08-06T12:15:07.620 に答える
0
        Scanner scanner = new Scanner(new FileInputStream("YOUR_FILE_PATH"));
        List<String> firstList = new ArrayList<String>();
        List<String> secondList = new ArrayList<String>();
        while(scanner.hasNextLine()) {
            String currentLine = scanner.nextLine();
            String[] tokenizedString = currentLine.split(":");
            firstList.add(tokenizedString[0]);
            secondList.add(tokenizedString[1]);
        }
              scanner.close();

firstList と secondList を列挙すると、目的の結果が得られます。

于 2012-08-06T12:09:20.567 に答える