Ciao a tutti,
volevo chiedere un consiglio su come leggere un file di questo tipo:
12345,xiuwejdm,23343434,vvvvppppoooo
Grazie mille!!!
Ciao a tutti,
volevo chiedere un consiglio su come leggere un file di questo tipo:
12345,xiuwejdm,23343434,vvvvppppoooo
Grazie mille!!!
Cosa intendi? Non è chiaro... per leggere un file ci sono diversi modi: puoi vedere il tuo file come un testo, come un insieme di byte, un insisme di oggetti Java serializzati...
Se il tuo problema è leggere un file che contiene stringhe di quel tipo e ti interessa "suddividere" i campi stringa da quelli numerici, devi prima leggere la riga in una stringa (con un BufferedReader oppure un FileInputReader) e poi usare uno StringTokenizer per tokenizzare la stringa... nel tuo caso, la virgola potrebbe fare da separatore di tokens.
Ciao.
"Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza
Devo semplicemente leggere i valori che sono separati dalla virgola!!!
Mi faresti un esempio grazie????
Esempio:
Ciao.codice:try { BufferedReader br = new BufferedReader( new FileReader("nomefile") ); String linea = br.readLine(); separaStringa(linea); } catch (Exception e) { e.printStackTrace(); } ... private void separaStringa(String linea) { StringTokenizer st = new StringTokenizer(linea, ","); int i = 0; while (st.hasMoreTokens()) { System.out.println("Token numero " + i + ": " + st.nextToken()); i++; } }
"Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza
Se mi servisse invece prendere solo il primo ed il terzo valore come potrei fare? Tenendo presente che il file è lunghetto e che le righe non sono sempre della stessa lunghezza!!!!
Es.:
xxxx;12312312;445454545;bvnfdgfg
11111;4445kjgkr;mvnvbv;4534534534
etc. etc
bhè, ti ha pur risposto: i ltokenizer ti spezza la stringa in base al carattere che specifichi, poi tocca a te prendere l'n-sima sottostringa...
ovviamente considerando che l'n-sima sottostringa potrebbe anche non esistere
23-08-2005: Udinese in cémpions lìg
Questa estate l'ho passata a Tallin
Puoi anche fare cosi:
String[] strings = linea.split(",");
a questo punto strings[0] e strings[2] contenono rispettivamente la prima e la terza sottostringa.
Sun Certified Java Programmer
EUCIP Core Level Certified
European Certification of Informatics Professionals
La funzione "SPLIT" non funziona in java!!!!!
Hai qualche suggerimento?
Il metodo split c'è dalla versione 1.4 della JDK.
Se proprio non riesci con il metodo split, dovrebbe andare bene questo codice:
A questo punto, nell'array s hai tutti i tokens della stringa. Basta che prendi il primo ed il terzo (se sono quelli che ti servono).codice:try { BufferedReader br = new BufferedReader( new FileReader("nomefile") ); String linea = br.readLine(); String [] s = separaStringa(linea); } catch (Exception e) { e.printStackTrace(); } ... private String[] separaStringa(String linea) { StringTokenizer st = new StringTokenizer(linea, ","); String [] result = new String[st.countTokens()]; int i = 0; while (st.hasMoreTokens()) { result[i] = st.nextToken(); i++; } return result; }
Ciao.
"Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza