Bonjour,

Tu peux par contre essayer cette fa�on pour copie un fichier, je la trouve
tr�s efficace et optimale.

private boolean copyFile(File inputFile, String outputFile) {
    String FileContent="";
    FileInputStream in=null;
    FileOutputStream out=null;
    try{
      in = new FileInputStream(inputFile);
      byte[] bt = new byte[(int)inputFile.length()];
      in.read(bt);
      FileContent = new String(bt);

    } catch(java.io.IOException e) {}
    finally {
    if(in != null)
      {
        try
        {
          in.close();
        } catch(java.io.IOException e) { }
      }
    }
  try{
    out = new FileOutputStream(outputFile);
    byte b[] = FileContent.getBytes();
    out.write(b);
    } catch(java.io.IOException e) {}
    finally {
    if(out != null)
      {
        try
        {
          out.close();
        } catch(java.io.IOException e) { }
      }
    }

N.B : outputFile est le path du fichier copie.

Cordialement

Salah NACIRI

Laurent For�t a �crit :

> Bonjour,
>
>     J'ai remarqu� des performances plus que m�diocres lors de recopie de
> fichier sous Unix (SunOS5.8) par rapport � Windows2000.
> (Je met en fin de message le code utilis� pour la recopie)
>
> Ma question est : y a t'il une mani�re de coder la recopie de fichier de
> facons optimales pour Unix ?
>     J'avais aussi immaginer de faire un appel syst�me de la commande cp,
> est-ce une bonne id�e ?
>
> Par avance, merci.
>
> Laurent For�t.
>
> private boolean copyFile(File inputFile, File outputFile) {
>     try {
>       cat_.debug("Copie du fichier "+inputFile.getName()+" dans
> "+outputFile.getParent());
>       FileInputStream in = new FileInputStream(inputFile);
>       FileOutputStream out = new FileOutputStream(outputFile);
>       int c;
>       while ((c =  in.read()) != -1) {
>         out.write(c);
>       }
>       in.close();
>       out.close();
>       return true;
>     } catch (IOException ex) {
>       String message = "Erreur copie Fichier "+inputFile.getName()+".";
>       cat_.warn(message);
>       throw new ClipackRuntimeException(message);
>     }
>   }

Répondre à