I file, conosciuti anche con il nome di archivi, sono entità che immagazzinano l’informazione in maniera permanente, anche dopo aver spento il computer. In Java, per lavorare con i file, la prima cosa da fare è creare degli oggetti che siano ad essi collegati direttamente, una volta stabilito questo legame, ogni operazione di IO ( Input – Output ) che faremo sull’oggetto si ripercuoterà sul disco. Il JDK ci mette a disposizione delle classi preconfezionate che ci consentono di lavorare con gli archivi in maniera semplice e veloce: esse sono presenti nel package java.io e quindi ogni programma che scriveremo dovrà importarle prima di utilizzarle. Per costruire il legame di cui parlavamo precedentemente è sufficiente creare un oggetto di tipo File ed inserire nel costruttore la path in formato stringa di dove andare a scrivere ( output ) o leggere ( input ). Vediamo un esempio chiarificatore per renderci conto in maniera pratica di come si fa a creare e scrivere un file in Java:
// file Main.java package corso; import java.io.*; public class Main { public static void main(String[] args) { File f = new File("/home/giampy/java/test.txt"); try { RandomAccessFile ar = new RandomAccessFile(f, "rw"); ar.writeChars("Questo file è solo un esempio per i ragazzi del corso!"); ar.close(); } catch (IOException e) {} System.out.println("Abbiamo scritto il file test.txt di " + f.length() + " bytes"); } }
La prima cosa insolita che possiamo notare è la presenza di una nuova classe RandomAccessFile che ha lo scopo di un contenitore del file e ci consentirà di effettuare quelle operazioni ad alto livello che altrimenti sarebbero state impossibili con i metodi previsti dalla classe File. La classe RandomAccessFile ci permette di aprire un archivio in modalità lettura – scrittura e spostarsi direttamente in una posizione desiderata, di saltare un certo numero di posizioni, di leggere un carattere alla volta oppure un’intera linea. Un RandomAccessFile è infatti direttamente collegato al concetto di puntatore al prossimo elemento, all’apertura si riferisce al primo carattere del file. Potete anche notare come abbiamo dovuto inserire questa classe all’interno di un blocco try – catch per gestire le eventuali eccezioni. Vediamo alcuni metodi messi a disposizione dalla classe:
Alcuni metodi della classe File sono:
Per la lista completa delle funzioni potete vedere la documentazione del JDK oppure seguire le indicazioni dei metodi che appaiono lavorando con le classi nei moderni strumenti di sviluppo per Java come NetBeans.
// file Main.java package corso; import java.io.*; public class Main { public static void main(String[] args) { File f = new File("/home/giampy/java/test.txt"); String s = ""; try { RandomAccessFile ar = new RandomAccessFile(f, "r"); s = ar.readLine(); ar.close(); } catch (IOException e) {} f.delete(); System.out.println(s); } }
Abbiamo fatto esempi molto semplici, per ora occorre che capiate le basi della programmazione in Java, per le cose complicate arriverà il momento giusto, non preoccupatevi!
<< Lezione Precedente – Inizio Corso – Lezione Successiva >>
Sono arrivato alla convinzione che un abbonamento per tutti i miei software gestionali sia il…
MerciGest è un software per la gestione del magazzino completamente gratuito. Continua a leggere→
In ufficio può capitare di doversi allontanare dal proprio posto di lavoro, ecco che allora…
In questo articolo vedremo quando è più o meno utile togliere la corrente ad un…
Dopo la pausa invernale dovuta al lavoro che devo fare per sostentarmi, eccomi di nuovo…
Vediamo come eliminare i files direttamente da Windows senza utilizzare il cestino. Continua a leggere→