salve ragazze dovrei scrivere dei valori contenuti in textfield in un file csv.
ogni valore presente in textfield corrisponde ad una colonna del file csv.
qualcuno di voi mi saprebbe dire da dove poter iniziare?
Grazie
salve ragazze dovrei scrivere dei valori contenuti in textfield in un file csv.
ogni valore presente in textfield corrisponde ad una colonna del file csv.
qualcuno di voi mi saprebbe dire da dove poter iniziare?
Grazie
Come indicato nel Regolamento, il titolo è importante. Tra parentesi quadre si indica il linguaggio, fuori il titolo, che deve essere significativo.
Correggo io.
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
Un file CSV altro non è che un file di testo, in cui i campi sono separati da virgola (o punto e virgola, in alcune varianti). CSV = Comma Separated Values.
Per scrivere un file di testo utilizzerai le normali classi di I/O presenti nel core Java standard: FileOutputStream e PrintStream.
Quindi, andrai a scrivere i valori presenti nelle tue JTextField:
Ciao.codice:{ // Apriamo il file "tuoFile.csv" in scrittura PrintStream ps = new PrintStream( new FileOutputStream("tuoFile.csv") ); // Scriviamo l'intestazione delle colonne ps.println("Colonna1,Colonna2,Colonna3,..."); // Scriviamo i valori ps.println(textField1.getText() + "," + textField2.getText() + "," + textField3.getText() + "," + ...); // Chiudiamo il file ps.close(); } catch (Exception e) { e.printStackTrace(); }![]()
"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
ottimo lele. per la lettura invece come bisogna comportarsi?
Si utilizza un FileReader, solitamentre wrappato da un BufferedReader (o uno Scanner, se hai una recente JDK) e si legge, riga per riga, finchè il file non finisce:Originariamente inviato da Rosario7
ottimo lele. per la lettura invece come bisogna comportarsi?
Attenzione che nell'esempio ho tralasciato il fatto che la prima riga contiene le intestazioni di colonna e non i valori.codice:try { BufferedReader br = new BufferedReader( new FileReader("mioFile.csv") ); String linea = ""; while((linea = br.readLine()) != null) { // Faccio quello che devo fare con "linea" // Ad esempio, la divido secondo il carattere virgola String[] campi = linea.split(","); // Ora ho un array: ciascun elemento è il valore di un campo. ... // Ci faccio quello che voglio } // Chiudo il file br.close(); } catch (Exception e) { e.printStackTrace(); }
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
ciao lele ho provato la lettura con una piccola variante.Siccome non posso adoperare la funzione split, perchè ho bisogno assolutamente di jdk 1.3 ,ho adoperato StringTokenizer.
il problema è alla riga rossa dove mi genera un errore NullPointer.Sapresti aiutarmi?codice:public void leggi(){ try { BufferedReader br = new BufferedReader(new FileReader(path)); String linea = ""; //leggo a vuoto per la riga di intestazione br.readLine(); while((linea = br.readLine()) != null) { //ottengo i vari campi suddivisi dal carattere ";" String[] campi=null; StringTokenizer st=new StringTokenizer(linea,";"); int i=0; while(st.hasMoreElements()){ campi[i]=st.nextToken(); ++i; } // Ora ho un array: ciascun elemento è il valore di un campo. } //Chiudo il file br.close(); } catch (Exception e) { e.printStackTrace(); } }
Grazie
devi inizializzare la variabile campi!
Giuseppe Morreale
Sviluppatore software fullstack