2017-05-31 16 views
-6

私はCSVとJavaで作業しています。私はファイルを読み込み、ファイルから値を出力する方法を知っていますが、特定の値を見つける方法はわかりません。私はarraylistに値を取得しようとしましたが、indexof()メソッドを使用しましたが、それはうまくいきませんでした。価値を引き出して印刷する方法はありますか?JavaでCSVファイルをフィルタリングする方法

+4

[、最小完全、かつ検証例]を提供してください(https://でのstackoverflow例えば、それは我々が国コードによってさまざまな国をフィルタリングする方法を示しました.com/help/mcve) – FortyTwo

+1

はい、方法があります。何か試しましたか? – tnw

+0

いいえ、私はarraylistを使ってそこから追加したり削除したりすることを考えていました。 @tnw –

答えて

0

あなたがコンテンツとcountry.csvを持っていると仮定すると:このファイルを読み、同時に必要なフィールドをフィルタリングする方法の

"1.0.0.0","1.0.0.255","16777216","16777471","AU","Australia" 
"1.0.1.0","1.0.3.255","16777472","16778239","CN","China" 
"1.0.4.0","1.0.7.255","16778240","16779263","AU","Australia" 
"1.0.8.0","1.0.15.255","16779264","16781311","CN","China" 
"1.0.16.0","1.0.31.255","16781312","16785407","JP","Japan" 
"1.0.32.0","1.0.63.255","16785408","16793599","CN","China" 
"1.0.64.0","1.0.127.255","16793600","16809983","JP","Japan" 
"1.0.128.0","1.0.255.255","16809984","16842751","TH","Thailand" 

一つ。

import java.io.BufferedReader; 
import java.io.FileReader; 
import java.io.IOException; 
import java.util.HashMap; 
import java.util.Map; 

public class CSVReader { 

    static Map<String, String> map = new HashMap<String, String>(); 

    public static void main(String[] args) { 

     String csvFile = "/home/../country.csv"; 
     String line = ""; 
     String cvsSplitBy = ","; 

     try (BufferedReader br = new BufferedReader(new FileReader(csvFile))) { 

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

       // use comma as separator 
       String[] country = line.split(cvsSplitBy); 
       for (int i = 0; i < country.length; i++) { 
        map.put(country[4], country[5]); 
       } 
      } 

     } catch (IOException e) { 
      e.printStackTrace(); 
     } 

     for (Map.Entry<String, String> entry : map.entrySet()) { 
      String code = entry.getKey(); 
      String name = entry.getValue(); 
      System.out.println("Country [code= " + code + " , name=" + name + "]"); 
     } 
    } 

} 

OUTPUT:

Country [code= "CN" , name="China"] 
Country [code= "JP" , name="Japan"] 
Country [code= "AU" , name="Australia"] 
Country [code= "TH" , name="Thailand"] 
+0

ファイルを読み取らないようにフィルタリングしたい。 @VasylLyashkevych –

+0

ファイルが読み込まれていないときに、ファイルをどのようにフィルタリングできますか?私たちはそれを読んでから、後で内容をフィルタリングするか、それと同時に実行する必要があります。 –

+0

はい、それは当てはまりますが、ファイルを読む方法はわかりますが、フィルタリングする方法はわかりません。 @VasylLyashkevych –

関連する問題