martedì 8 giugno 2010

Java: scrittura del testo

La classe PrintWriter si occupa della scrittura del testo, gli oggetti di questa classe sanno come scrivere ma non sanno dove farlo! Questo significa che bisogna dare agli oggetti di PrintWriter una destinazione (uno scrittore di destinazione).

FileWriter f=new FileWriter("file.txt");
PrintWriter out=new PrintWriter(f);

I metodi print() e println() (gli stessi usati sull'oggetto System.out) realizzano poi l'operazione di scrittura:

String message="Hello world!";
out.println(message);

Il testo da scrivere sul file verrà convertito in byte liberando il programmatore da quel compito. Con il metodo print() è possibile scrivere nel file: interi, caratteri, stringhe e oggetti. Attenzione, passando un oggetto al metodo print() si provoca la scrittura nel file dell'output generato dalla chiamata al metodo toString() dell'oggetto! Per la scrittura degli oggetti su file bisogna far conformare la classe all'interfaccia Serializable (vedremo come fare anche questo). Cosa succede se il file non viene trovato? Le istruzioni viste sopra vanno racchiuse all'interno di un blocco try e catch per catturare eventualmente questa eccezione. L'eccezione da rintracciare, come giusto che sia, è IOException. Vi lascio un esempio:

import java.io.*;

public class writeFile {
   public static void main(String[] args) {
      String fileName="/home/user/file.txt";
      String message="Hello world!";
      try {
         FileWriter f=new FileWriter(fileName);
         PrintWriter out=new PrintWriter(f);
         out.println(message);
         System.out.println("C'è un nuovo file per te!");
         out.close();
      }
      catch (IOException e) {
         e.printStackTrace();
      }
   }
}

Nessun commento:

Posta un commento