Newsgroup: it.comp.java
Titolo: []Vector - come si aggiungono elementi sugli array di Vector ?

Formato del file TEST.IMPORT
elemento-1:elemento-2:elemento-3:....:elemento-n
elemento-1:elemento-2:elemento-3:....:elemento-n
elemento-1:elemento-2:elemento-3:....:elemento-n
elemento-1:elemento-2:elemento-3:....:elemento-n
Vector a   Vector b   Vector c        Vector n
Sto cercando di mettere a punto un algoritomo utile ad importare da file
formatti con separatore (in questo caso ':').
Per utilizzare gli elementi li metto nei comodissimi java.util.Vector, il
problema é che se creo un'array di Vector non riesco più a fare la
MioVettore.addElement(MioOggetto) !!!
Ho provato anche a fare un semplice Test[0].addElement(file) ma non riesco a
farlo !
Come si fa ?
Se interessa riporto anche il resto (non completo):
    int dim = 2;
    boolean eof = false;
    String file = "C://TEST/TEST.IMPORT";
    Vector Local = new Vector();
    Vector Virtual = new Vector();
    Vector Test[] = new Vector[dim];in questo caso il file ha due elementi
    Test[0].addElement(file);
    try {
        FileReader fr = new FileReader(file);
        BufferedReader br = new BufferedReader(fr);
        while (!eof) {
            String line = br.readLine();
            if (line == null)
                eof = true;
            else {
                int so = 0;
                String tmp = "";
                for (int i = 0; i < line.length(); i++) {
                    if (line.charAt(i) == ':') {
                        //Local.addElement(tmp);
                        Test[so].addElement(tmp); // <-- qui é dove si
pianta
                        tmp = "";
                        so++;
                    } else {
                        tmp = tmp + line.charAt(i);
                        if (i == (line.length() - 1))
                            Virtual.addElement(tmp);
                    }
                }
            }
        }
        br.close();
    } catch (IOException e) {
        System.out.println("Errore " + e.getMessage());
    }
P.S. Se qualcuno ha da segnalare una cosa del genere già fatta sarebbe una
cosa simpatica
Ciao e grazie a tutti

prima di usare il vector lo devi istanziare:
Test[so]= new Vector();
poi puoi usare il vector (che prima non esisteva)

 wrote in message
news:a31t97$brp$1...@fe2.cs.interbusiness.it...


Non faccio IndexOf, ho comunque dato un'occhiata a quello che potevo
fare con StringTokenizer ma alla fine quello che ho scritto é meglio
(credo).
E poi é riutilizzabile per qualsiasi file formattato con separatore;
ecco la versione 0.1 di fileParse() !
public static Vector[] fileParse(String file, int elements, char
separator) {
    boolean eof = false;
    Vector Struct[] = new Vector[elements];
    for (int i = 0; i < elements; i++) {
        Struct[i] = new Vector();
    }
    try {
        FileReader fr = new FileReader(file);
        BufferedReader br = new BufferedReader(fr);
        while (!eof) {
            String line = br.readLine();
            if (line == null)
                eof = true;
            else {
                int sp = 0;
                String tmp = "";
                for (int i = 0; i < line.length(); i++) {
                    if (line.charAt(i) == separator) {
                        Struct[sp].addElement(tmp);
                        tmp = "";
                        sp++;
                    } else {
                        tmp = tmp + line.charAt(i);
                        if (i == (line.length() - 1))
                            Struct[elements - 1].addElement(tmp);
                    }
                }
            }
        }
        br.close();
    } catch (IOException e) {
        System.out.println("Errore " + e.getMessage());
    }
    return Struct;
}
Che ne pensate ?
Mi sembra leggero veloce ed elegante no ?!?
Dove potrei migliorarlo secondo voi ?