PrintWriter

Mattepuffo's logo
Esportare una JList in Java

Esportare una JList in Java

JList è un componente SWING che rappresenta una serie di oggetti sotto forma di lista.

Qui avevo spiegato come caricare una JLlist da una file XML per esempio.

Oggi vediamo come esportarli in formato TXT.

Inoltre integreremo utto con il solit JFileChooser per decidere dove salvare il file.

Prima di tutto nel vostro JFrame preparate l'evento che poi richiamerà il JFC (ad esempio un menu o un bottone).

Poi preparate il JFC; tipo questo:

import java.io.File;
import java.io.IOException;
import javax.swing.JFileChooser;
import javax.swing.filechooser.FileFilter;

public class FileChooserTxt {

    private static File f = null;

    public static String salva() throws IOException {
        JFileChooser fc = new JFileChooser();
        fc.setDialogTitle("Save TXT");
        fc.setApproveButtonText("Save");
        fc.setApproveButtonToolTipText("Approve file");

        FileFilter txtFilter = new GenericFileFilter("File *.txt", "txt");
        fc.setFileFilter(txtFilter);

        int returnVal = fc.showSaveDialog(fc);
        if (returnVal == JFileChooser.APPROVE_OPTION) {
            f = fc.getSelectedFile();
            FileFilter selectedFilter = fc.getFileFilter();
            if (f.getName().indexOf('.') == -1) {
                f = new File(f.getPath() + ".txt");
            }
        }
        return f.toString();
    }
}

Qui ho messo un solo filtro perchè l'esportazione la faccio solo in TXT.

Mattepuffo's logo
Creazione di file in Java

Creazione di file in Java

Il corso che sto seguendo inizia a dare i suoi frutti e ho deciso di riportavi qualcosa di quello che ho imparato.

Comincio che una delle operazioni consentite sui file: la scrittura.

La scrittura di un semplice fila di testo in Java non è una cosa banale, ed è inutile creare grossi programmi immagazzinando i risultati su file.

Prendiamo un gestionale: che senso ha scrivere tutto su file di testo invece che su un database??

Nessuna, ma torna comunque molto utile.

Vediamo allora qual'è il processo:

  1. creazione di un oggetto FileWriter per la creazione e apertura del file
  2. creazione di un oggetto PrintWriter per la redirezione del flusso di dati
  3. chiusura del canale che garatisce che il programma ha cessato di usare il file e che i dati potranno essere scritti

Vi posto un pò di codice che andremo a spiegare: