2016-07-08 11 views
1

文字列配列をExpression..Splitting ...ここでまた、私はマディヤ・プラデーシュ.. だから私は、ファイル内の状態間のスペースを削除したいとも国家や都市を分割し、この結果を得るの間にスペースを持っている私のコードは、通常のIが状態街値を持つテキストファイルを持って二回

FileInputStream fis= new FileInputStream("StateCityDetails.txt"); 
    BufferedInputStream bis = new BufferedInputStream(fis); 
    int h=0; 
    String s; 
    String[] str=null; 
    byte[] b= new byte[1024]; 
    while((h=bis.read(b))!=-1){ 
    s= new String(b,0,h); 
    str= s.split("-"); 
    } 
    for(int i=0; i<str.length;i++){ 
     System.out.println(str[1]); ------> the value at 1 is Bhopal Goa 
    } 
     } 
です: -

 str[0]----> MadhyaPradesh 
    str[1]----> Bhopal 
    str[2]-----> Goa 
    str[3]----->Bicholim 

事前にあなたがHelp..Thankしてください:)

+0

質問は何ですか?あなたのコードは動作しませんか?そうでない場合、あなたは何を理解していませんか? –

+0

コードは正常に動作しますが、結果は期待どおりではありません。予想される出力を得る方法がわかりません。 –

答えて

1

私はむしろ、あなたがそれをやっている方法よりも、ここでBufferedReaderを使用します。下のコードスニペットはハイフン(-)で区切られた各行を読み込み、各部分からすべての空白を削除します。各コンポーネントは、左から右(および上から下へ)順にリストに入力されます。必要に応じて、リストは最後に配列に変換されます。

List<String> names = new ArrayList<String>(); 
BufferedReader br = null; 

try { 
    String currLine; 

    br = new BufferedReader(new FileReader("StateCityDetails.txt")); 

    while ((currLine = br.readLine()) != null) { 
     String[] parts = currLine.split("-"); 
     for (int i=0; i < parts.length; ++i) { 
      names.add(parts[i].replaceAll(" ", "")); 
     } 
    } 

} catch (IOException e) { 
    e.printStackTrace(); 
} finally { 
    try { 
    if (br != null) br.close(); 
    } catch (IOException ex) { 
     ex.printStackTrace(); 
    } 
} 

// convert the List to an array of String (if you require it) 
String[] nameArr = new String[names.size()]; 
nameArr = names.toArray(nameArr); 

// print out result 
for (String val : nameArr) { 
    System.out.println(val); 
} 
+0

スレッド "main"の例外java.lang.ArrayIndexOutOfBoundsException:1 \t at com.psl.Client .main(Client.java:31)names.add(parts [1] .replaceAll( ""、 "")); <-----これをやっていない人はここにエラーがある –

+0

@ Bhavana_1622これをデバッグするのにあなた自身で努力することはできますか?私の推測では、入力ファイルにハイフンが表示されていない行がいくつかあることがわかります。私は基本的にそのような行をスキップするロジックを追加しました。 –

+0

ありがとうございました。はい、私は試してみます... :) thnx –

関連する問題