lpr-b:cat
package TestIngresso; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.IOException; import java.io.InputStream; public class CatN { /** * metodo dell'oggetto CatN<br>Il metodo non e' dichiarato statico, dal momento che utilizziamo nel main un oggetto CatN per * richiamarlo. Usare un metodo statico solo perche' si chiama nel main non e' corretto, in generale, anche se puo' non provocare * errori in fase di esecuzione. * * @param is rappresenta l'InputStream che si vuole copiare sullo standard output */ public void copy(InputStream is) { final int MAXBUFFER = 1024; byte [] buffer = new byte[MAXBUFFER]; int letti = 0; try { while( (letti = is.read(buffer,0,MAXBUFFER))!= (-1)) { System.out.write(buffer,0,letti); } } catch (IOException e) { e.printStackTrace(); } return; } /** * Main del programma: controlla se ci sono argomenti. Se non ve ne sono, si configura come un filtro (legge lo standard input e * scrive lo standard output) altrimenti copia tutti i file di cui viene passato il nome dalla riga di comando * * @param args ciascun parametro rappresenta un nome di file da copiare sullo standard output */ public static void main(String[] args) { // creazione dell'oggetto copiatore CatN copier = new CatN(); if(args.length == 0) { // se non ci sono parametri, funziona da filtro copier.copy(System.in); } else { // altrimenti processa tutti i file passati come argomento for(int i=0; i<args.length; i++) { InputStream is = null; try { is = new FileInputStream(args[i]); // apri il file copier.copy(is); // quindi copialo } catch (FileNotFoundException e) { // se non esiste, segnala l'errore e continua con il prossimo file System.out.println("File "+args[i]+" non trovato"); } } } } }
lpr-b/cat.txt · Ultima modifica: 28/09/2007 alle 08:16 (18 anni fa) da Marco Danelutto