Newsgroup: it.comp.java
Titolo: come caricare delle stringhe da un file .txt

Salve a tutti,
mi potete indicare (io non ho la minima idea di come si possa fare) il
modo per caricare il contenuto di un file .txt
in un array o vector di stringhe ??
Per esempio,
nel file .txt abbiamo le seguenti stringhe: "UNO", "DUE", "TRE", ecc..
ecc...
E vogliamo che la nostra applicazione java le carichi in un array/
vettore che alla fine risulterà così popolato:
array[0] = "Uno"
array[1] = "Due"
array[2] = "Tre"
Come posso implementare ciò ?
Vi ringrazio già da ora per tutto l'aiuto che saprete fornirmi.


Cerca "leggere un file di testo con java" su Google.
Al posto di un array ti conviene usare una List, perché la list può 
crescere con il numero di elementi contenuti.
BufferedReader r = new BufferedReader(new InputStreamReader(new 
FileInputStream(nomeDelFile)));
List<String> list = new ArrayList<String>();
String line;
while( (line = r.readLine())!=null) {
    list.add(line);
}
-- 
Andrea Francia
alias rm='trash' #use trash command instead of removing
rm -Rfv file     #put the file in the KDE trashcan
http://www.andreafrancia.it/trash

Grazie,
andrò subito a vedere
:)


Mi interessa anche a me questa cosa, pero ogni linea che devo leggere
è composta cosi
......
......
nome1;qualcosa1, qualcosa2
nome2;qualcosa2, qualcosa2
......
......
Devo leggere nome1(senza ';') e anche sequenzialmente quello che viene
dopo (senza ','), poi passare alla riga successiva e analizzarla nello
stesso modo.

 stesso modo.
Le seguenti classi dovrebbero esserti di aiuto:
http://java.sun.com/javase/6/docs/api/java/util/Scanner.html
http://java.sun.com/javase/6/docs/api/java/util/StringTokenizer.html
Altrimenti puoi sempre usare un espressione regolare.
http://java.sun.com/javase/6/docs/api/java/util/regex/Pattern.html
Con un espressione del tipo :
(.*)\;(.*)\,\ (.*)
dovrebbe andare bene.
Altrimenti cerca su internet: "read a CSV file with Java".


 Ciao
Quindi è deprecata?

 Quindi è deprecata?
No non è deprecata ma è come se lo fosse.
Non è deprecata perché nella documentazione non c'e' scritto Deprecated.
E' come se lo fosse perché come una classe deprecata è ancora 
disponibile soprattutto per far funzionare il codice preesistente ma ne 
è sconsigliato l'utilizzo per il codice nuovo.
-- 
Andrea Francia
http://www.andreafrancia.it/

 wrote:

Scusami se insisto,
Un altra domanda: Ma quali sono i motivi che hanno portato
StringTokenizer ad essere considerata tale? Ovvero ad essere
sconsigliata per scrivere nuovo codice?

 sconsigliata per scrivere nuovo codice?
Cerca su google: "why use of StringTokenizer is discouraged"


 wrote:

Una risposta molto esauriente,,,,


Da alcuni è considerato buona educazione cercare in rete o nei 
precedenti messaggi del newsgroup prima di chiedere qualcosa.
http://catb.org/~esr/faqs/smart-questions.html#before
Ti ho suggerito le parole chiave da usare nel caso avessi dubbi su quali 
usare.
L'informazione è già disponibile in rete, non è necessario chiedere su 
usenet. Comunque magari qualcuno ti risponderà. Io no perché non ho le 
idee molto chiare a proposito e al momento non mi interessa studiarmi il 
problema per poter fare un riassunto da postare.


On 6 Mag, 14:44, Andrea Francia

Questo lo so, ma che succede quando la cosa da cercare non è facile da
trovare?
---------Allora i gruppi non esisterebbero più ,ed esisterebbe solo
google.------------------------
Io ho provato a vedere nei vari post ma non ho trovato nulla.Poi si sa
che per queste cose bisogna decifrare una miriade di termini tecnici,
e la ricerca su google tranne per un esperto non ha un esito felice.
Ma tornado su questo punto se uno fosse esperto non posterebbe la
domanda.
Se  google avesse le risposte a tutto, credo che si possa chiudere
anche questo gruppo ad anche altri.
Ecco perché ho criticato la tua risposta(che cmq ti rigrazio per
l'attenzione) ma che non serve a nulla.

 un gruppo.
E poi non esprimere pareri personali  sul mio conto perchè potresti
essere bannato.

 Io ho provato a vedere nei vari post ma non ho trovato nulla.
Se l'avessi scritto nella mail dove chiedevi per quale motivo 
StringTokenizer è scoraggiata forse avrei risposto diversamente.
In genere potrebbe essere d'aiuto scrivere una frase come la seguente 
prima di chiedere una domanda la cui risposta è presumibilmente già 
disponibile su internet.
"Ho provato a cercare quest'informazione su Google ma non l'ho trovata 
perché ... (segue motivo) ".


 Io ho provato a vedere nei vari post ma non ho trovato nulla.
Usando google
http://www.google.com/search?aq=f&complete=1&hl=en&q=because+StringTokenizer+is+discouraged&btnG=Search
Trovi il terzo risultato che contiene una discussione a proposito.
http://cs.stuy.edu/pipermail/ml1x-z/2007-November/000127.html


 Andrea Franciahttp://
www.andreafrancia.it/
Si lo avevo letto Andrea, hai visto,,si trova ben poco....


Ok. Ma fregatene, non credo proprio che sia una questione importante.
Il succo è che puoi usare lo split al posto del tokenizer. Se proprio 
vuoi puoi usare il tokenizer che è scoraggiato ma non deprecato.
I motivi per cui è scoraggiato e non deprecato non li so e non credo che 
sia così importante saperli.


Ragazzi avete creato una caterva di post
:)
sono contento che la gente in questo newsgroup "collabori"..
..certo a volte le risposte vengono scritte con ironia, ma lette con
acidità.
Per me la funzione del newsgroup è mettere a disposizione degli altri
la propria esperienza:
sappiamo tutti come spesso accada che, programmando, si inizi a
pensare a cose complicatissime e
poi, quando si deve trovare una soluzione per una minuzia come quella
dell' ID numerico (in un altro mio post), si caschi dalle nuvole.
Ricordiamoci inoltre che da una "minuzia" come quella può scaturire un
suggerimento utile ad ampliare le proprie conoscenze: vedi chi mi ha
risposto di seguire la strada del FACTORY METHOD: argomento
che per me - fino ad oggi - era totalmente sconosciuto.

 che per me - fino ad oggi - era totalmente sconosciuto.
Valuta di leggere un giorno questo libro che parla del Factory Method e 
altri Design Pattern di cui probabilmente hai sentito parlare:
http://it.wikipedia.org/wiki/Design_Patterns
Gli autori sono quelli a cui si riferisce con il termine Gang Of Four o GoF.


On 7 Mag, 12:01, Andrea Francia

Scusatemi ma questo libro usa un particolare linguaggio di rifermento
dove applica i patterns o li illustra tramite il modello UML?


Leggiti il link prima di chiedere.
E poi c'e' sempre Google.


 wrote:

Scusa non avevo letto bene,  ho trovato Patterns in Java, Volume 1—A
Catalog of Reusable Design Patterns Illustrated with UML, Second
Edition, che invece usa java.
Può essere cosiderato alla strgua di GoF o cmq è sempre meglio leggere
prima GoF?
Ho dentito dire che GoF è un must e che tutti quelli che vengono dopo
sono solo una specie di copia, secondo voi è vero?

 sono solo una specie di copia, secondo voi è vero?
Sul libro che dici tu non so dirti niente perché non l'ho letto, ti dico 
quello che so su Design Patterns della GoF.
Design Patterns della GoF è un gran bel libro, questo non vuol dire che 
per te sia il migliore da leggere (dipende anche da cosa conosci già e 
cosa vuoi conoscere).
Comunque è come dici tu. E' il primo libro a essere stato pubblicato 
sull'argomento e gli altri bene o male riprendono gli stessi concetti.
Sul fatto che li spieghino meglio o peggio, non ne assolutamente idea.
C'e' da dire che anche se è i primo ad essere stato pubblicato i 
contenuti (a mio parere) rimangono attuali.
Gli esempi contengono del codice in C++ e SmallTalk ma sono leggibili da 
chiunque conosca la programmazione a oggetti.
Buona scelta.



Grazie,
proprio stamattina mi sono trovato a passare su quella pagina di
wikipedia:
cercavo di capire cosa fosse il facory method da applicare
all'assegnazione degli id numerici, univoci, per ogni istanza di una
stessa classe (vedi discussione nel mio post "assegnare un diverso ID
numerico ad ogni diversa istanza di una classe").
Pomeriggio chiederò al mio prof, ingegneria del software, che parere
mi sa dare sulla lettura di questo libro.