-3

次のようなテキスト ファイルがあります。

acorn squash 2365989335
alfalfa sprouts 3988549919
almond 9277904615
anchovy 3352461607
anise 0846115239
apple 7827295890
apricot 0662812477
artichoke 5974131818
asparagus 8485010646

さらに数百のアイテムが続きます。リストにはアイテム名があり、そのすぐ隣にUPCがあり、次に新しい行があり、そのように続きます.

このファイル (foodUPC.txt) を読み取り、後で使用するためにすべての項目をリストに入れることになっています。これらのアイテムをすべてリストに入れようとして立ち往生しています。後で、UPC に基づいて商品を返品するために、すべての商品を読まなければなりません。また、その方法もわかりません。

お世話になりました!

4

3 に答える 3

2

NIO APIは、ファイルからすべての行を簡単に読み取ることができるので便利だと思います(アイテムが改行で区切られていることを確認してください)。

List<String> lines = Files.readAllLines( Paths.get("foodUPC.txt"), Charset.forName( "MyCharset" ) /* or Charset.defaultCharset(), although this is not recommended for portable apps! */ );
for( String line : lines ) {
    String[] arr = line.split( " " );
    // here comes your code
}

よろしく。

于 2013-01-31T21:44:00.503 に答える
0

ハッシュマップを使用します- upc コードがキーで、値が名前です

マッピングを取得するには - 正規表現を使用して行を分割します

InputStream    inputStream;
BufferedReader buffreader;

HashMap<String, String> hm= new HashMap<String,String>();

inputStream= new FileInputStream("foodUPC.txt");
buffreader= new BufferedReader(new InputStreamReader(inputStream, Charset.forName("UTF-8")));
while ((line = buffreader.readLine()) != null) {
   String[] datas=line.split(" ");[if its a tab use \t]
hm.put(datas[0],datas[1]);
}

必要な場所でこのマップを使用してください。

于 2013-01-31T22:05:28.017 に答える