wczytywanie danych z kilku plikow do tabeli

1

Witam mam za zadanie odczytać dane z kilku plików oraz stworzyć tabele zawierającą te dane.
Pliki łączy ta sama kolumna danych dzięki czemu tabela może być ładnie posortowana.
Stworzyłem własny model tabelki. Problem polega na tym, że kiedy odczytuje dane z jednego pliku i wrzucam do wektorów wszystko działa ale gdy odczytuje dane z dwóch plików to wrzucone dane są skrócone o połowę. Prosił bym także o pomoc w stworzeniu sortera dla tych danych.

class model extends AbstractTableModel {

  protected Vector data;
  protected Vector columnNames;
   
    public model() {


    
        data = new Vector();
        columnNames = new Vector();

        try {
            FileInputStream magazynp = new FileInputStream("magazynp.csv");
            BufferedReader magp = new BufferedReader(new InputStreamReader(magazynp, "Cp1250"));
            FileInputStream magazynw = new FileInputStream("magazynw.csv");
            BufferedReader magw = new BufferedReader(new InputStreamReader(magazynw, "Cp1250"));
            FileInputStream dostawcy = new FileInputStream("dostawcy.csv");
            BufferedReader dost = new BufferedReader(new InputStreamReader(dostawcy, "Cp1250"));
            FileInputStream slownik = new FileInputStream("slownik.csv");
            BufferedReader slow = new BufferedReader(new InputStreamReader(slownik, "Cp1250"));


              columnNames.addElement("NRKARTY");
              columnNames.addElement("DATAD");
              columnNames.addElement("KOD");
       
       magp.readLine();
       slow.readLine();

    while(magp.readLine()!=null){

        StringTokenizer st1=new StringTokenizer(magp.readLine(),";");

        StringTokanizer st2=new StringTokanizer(slow.readLine(),";"); 

        data.addElement(st1.nextToken());
        data.addElement(st1.nextToken());
        data.addElement(st2.nextToken());


    
   }
     
  
        } catch (Exception e) {

        }

    }
</cpp>
0

Ilosc wierszy, jaka otrzymasz w wyniku dzialania Twojego algorytmu to: MIN(ilosc_wierszy(magazynp.csv), ilosc_wierszy(slownik.csv)). Aby wszystkie wartoscy byly zwrocone musialbys miec strukture plikow np. tego typu:

slownik.csv
Ksiazka		 | A
Program		 | B
Komputer		| C
Program		 | B

magazynp.csv
"Java - podstawy"	  | A
"NetBeans"		 | B
"Sony Vaio"		| C
"Windows 7"		| B

tj. kazdy wiersz slownika odpowiada kazdemu wierszowi magazynu.

Jesli natomiast Twoj slownik jest tabela znormalizowana (bez duplikatow), java.util.Map jest typem kolekcji, ktora powinienes rozwazyc.

Jesli chodzi o sortowanie: http://java.sun.com/docs/books/tutorial/uiswing/components/table.html#sorting

0

dzieki:)

1 użytkowników online, w tym zalogowanych: 0, gości: 1