Visualizzazione dei risultati da 1 a 4 su 4

Discussione: oggetto su file csv

  1. #1

    oggetto su file csv

    Salve, ho un problemino con Java. Dato un oggetto creato di questo tipo:
    List<ArrayList> lezioni = db.eseguiQuery("SELECT * FROM Lezioni");

    come faccio a rappresentare l'oggetto "lezioni" su un file .csv ?????

    Grazie ciao a tutti

  2. #2
    codice:
    List<ArrayList> lezioni = db.eseguiQuery("SELECT * FROM Lezioni");
    String csvSeparator = ";";
    if (lezioni != null) {
    	StringBuffer csv = new StringBuffer();
    	for (ArrayList<String> lezione: lezioni) {
    		StringBuffer linea = new StringBuffer();
    		if (lezione != null) {
    			for (String campo: lezione) {
    				linea.append(campo + csvSeparator);
    			}
    			csv.append(linea + "\n");
    		}
    	}	
    }
    
    try {
    	BufferedWriter out = new BufferedWriter(new FileWriter("pippo.csv"));
    	String outText = csv.toString();
    	out.write(csv);
    	out.close();
    }
    catch (IOException e) {
        e.printStackTrace();
    }
    "Na' sedia te vojo tirà!"

  3. #3
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,326
    Ma nasce, comunque, una domanda:

    codice:
    List<ArrayList> lezioni = db.eseguiQuery("SELECT * FROM Lezioni");
    Questa riga, da Java 5 in avanti, non è corretta dal punto di vista della tipizzazione. Non è type-safe.

    ArrayList va tipizzato, da qui la domanda: il metodo eseguiQuery() cosa restituisce?

    Poi ci sarebbe una seconda domanda, derivante dal fatto che quella riga mi ricorda tanto la mia vecchia pillola su JDBC: hai modificato il metodo in modo da restituire un List di ArrayList? Se sì, perchè? Non era meglio fargli restituire un List<String[]> oppure un List<Map<String,String>>?


    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

  4. #4
    Innanzitutto vi ringrazio per le risposte.

    Si, eseguiQuery l'ho preso dalla tua pillola, ma l'ho dovuto modificare in ArrayList poichè il professore(la sto usando per un progetto di una materia) la voleva restituita così (non ho ben capito il motivo della sua scelta), per questo mi restituirà una lista.

    Un'altra domanda: se gli oggetti che devo conservare in file .csv sono tanti, si può fare un metodo unico per tutti in modo da non dover scrivere questo metodo per ciascuno di loro?
    Cioè metterli in tanti file .csv quanti sono gli oggetti.
    (quindi dati gli oggetti: oggetto1, oggetto2, oggetto3, oggetto4
    creare i seguenti file: file1.csv, file2.csv, file3.csv, file4.csv).

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.