0

I am trying to write a program that maps a product to its description. I have attached the text in the end. This is the code I have come up with. It compiles fine but does not give me the result properly..

import java.io.*;
import java.util.*;
 
public class InstanceItem{
    HashMap itemToDescription;
    BufferedReader bin;
    String filename = "sampledoc.txt";
    String line = "";
    String line2 = "";
    String line1 = "";
    
    public void main(String[] args){
        try{
         itemToDescription = new HashMap();
         bin = new BufferedReader(new FileReader(filename));
         while((line = bin.readLine())!=null){
             StringTokenizer s = new StringTokenizer(line);
             String name = s.nextToken();
             
             if(s.nextToken().equalsIgnoreCase("of")){
                 line2 += line;
                 line = bin.readLine();
                 s = new StringTokenizer(line);
                 s.nextToken();
                 while(!(s.nextToken().equalsIgnoreCase("of"))){
                     line2 +=line;
                 }
                 itemToDescription.put(name, line2);
                 
             }
             
         }
                 }catch(IOException e) {
            System.err.println(e.getMessage());
        }
    }
}

Please take a look at my code: My input file looks like this:

([description_001] of Book
text text text text text
text text text text text
text text text text text)

([description_002] of Pen
text text text text text
text text text text text
text text text text text)

([description_003] of Magazine
text text text text text
text text text text text
text text text text text)

([description_004] of Book
text text text text text
text text text text text
text text text text text)

([description_005] of Magazine
text text text text text
text text text text text
text text text text text)


Is there a better way. What modification should I do to my code.

Thanks,
jeni

2
Contributors
1
Reply
2
Views
11 Years
Discussion Span
Last Post by Gargol
0

As a quick but useful suggestion have you considered using a whole class to represent just one of your data items. It often works well because you can then seperate the handling of multiple items from the detail of each item and it makes it much easier then to add a field to each item etc. etc.

Just a thought.

This topic has been dead for over six months. Start a new discussion instead.
Have something to contribute to this discussion? Please be thoughtful, detailed and courteous, and be sure to adhere to our posting rules.