2017-09-29 10 views
1

私は、この形式のテキストを持つファイルがあります:読むファイルを一度に1行と実行コード

テキスト:テキスト2:テキスト3
text4:text5:text6
text7:text8:text9

私がしたいのは、最初の行を読み、 ":"で単語を区切り、3つの文字列を異なる変数に保存することです。これらの変数は、次の行を読んで、これまでのところ、私はこれ持って...何度も何度も同じことをやってプログラムを持つ前に、メソッドのパラメータとして使用されます。また

public static void main(String[] args) { 

BufferedReader reader = null; 

try { 
    File file = new File("C://Users//Patrick//Desktop//textfile.txt"); 
    reader = new BufferedReader(new FileReader(file)); 

    String line; 
    while ((line = reader.readLine()) != null) { 
     System.out.println(line); 
    } 

} catch (IOException e) { 
    e.printStackTrace(); 
} finally { 
    try { 
     reader.close(); 
    } catch (IOException e) { 
     e.printStackTrace(); 
    } 
} 

を、私はしました

String[] strArr = sCurrentLine.split("\\:"); 
+0

ここに質問がありますか?あなたの問題は何ですか? – zuckermanori

+0

質問は、メソッドのパラメータとして変数を使用するために、テキストファイルの最初の行のみを読み込み、別々に値を(テキスト、テキスト2、テキスト3)に設定する方法です。 – Patrick

+0

私はお勧めします質問自体にこれを尋ねる – zuckermanori

答えて

1

使用String[] parts = line.split(":");textで配列を取得するためにあなたはpartsループスルー、その後などtext2、できるとの各項目にしたいメソッドを呼び出しますないことを確認アレイが最良の選択肢ではあるが(分離のためにこれを試してみましたリスト。

:はRegexの特殊文字ではないため、元の分割は機能しません。達成しようとしている分割が特殊文字を使用する場合は、エスケープ文字を使用する必要があります。

詳細情報here

関連する問題