Ver Mensaje Individual
  #4 (permalink)  
Antiguo 26/03/2006, 14:57
Avatar de dogduck
dogduck
 
Fecha de Ingreso: enero-2006
Ubicación: ¿Atlantida, Hesperides, Islas afortunadas?
Mensajes: 2.231
Antigüedad: 18 años, 3 meses
Puntos: 19
Un ejemplo

http://club.idecnet.com/~ccastano/femepa/161105.htm
Código:
import java.io.*;

class FileStreamsTest {
    public static void main(String[] args) {
        try {
            File inputFile = new File("original.txt"); 
            File outputFile = new File("outagain.txt");
            //Creamos entradas y salidas por cónsola
            FileInputStream fis = new FileInputStream(inputFile);
            FileOutputStream fos = new FileOutputStream(outputFile);
            int c;
            //Mientras el valor del método read() del objeto fis sea != -1 --> ejecuta metodo
            //write del objeto fos
            // traduciendo: mientras no termine de leer  el fichero
            // inputfile, copialo ( y si no existe lo crea y si existe lo sobreescribe)
            // en el fichero outputfile
            
            while ((c = fis.read()) != -1) {
            //lee byte a byte de fis y lo vuelca en fos
               fos.write(c);
            }
            // en realidad trabaja entre la ram(FileInputStream y FileOutputStream) y el HD
            // (inputFile , outputFile)
            fis.close();
            fos.close();//importante , no dejarse abierto canales
        } catch (FileNotFoundException e) {
          //la excepción provendria de no encontrar original.txt
          // originada en la linea FileInputStream fis = new FileInputStream(inputFile);
          // java exige recoger la excepcion al usar este canal ( try{..} catch{..} )
          // el fichero de salida no genera excepción , ya que se va a crear o sobreescribir
            System.err.println("FileStreamsTest: " + e);
        } catch (IOException e) {
          // excepción más genérica de entrada / salida
            System.err.println("FileStreamsTest: " + e);
        }
    }
}