java.nio
(new input/output) compléte (voir remplace, dans certains cas)
les possibilités du paquetage java.io
.
Cette classe représente une entrée (un fichier ou un dossier) de votre système de fichiers.
Le fichier physique associé à votre instance de la classe File
ne doit pas nécessairement exister pour que la classe soit utile :
par exemple, elle permet de tester l'existence d'un fichier (ou d'un dossier).
Il s'agit des classes dérivant de java.io.InputStream
(flux d'entrée) et
de java.io.OutputStream
(flux de sortie).
Les classes java.io.FileInputStream
et
java.io.FileOutputStream
permettent l'accès aux fichiers.
Les classes java.io.BufferedInputStream
et
java.io.BufferedOutputStream
proposent des accès « bufferisés ».
Les classes java.io.ObjectInputStream
et
java.io.ObjectOutputStream
sont à la base de la sérialisation et de la déserialisation en Java.
...
Il s'agit des classes dérivant de java.io.Reader
(flux d'entrée) et
de java.io.Writer
(flux de sortie).
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 |
package fr.koor.sample; import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.InputStream; import java.io.OutputStream; public class Copy { public static void main( String [] args ) { // Si l'utilisateur n'a pas spécifié le programme à copier, alors on affiche l'usage du programme. if ( args.length != 2 ) { System.out.println( "Ce programme permet de copier un fichier" ); System.out.println( " Usage: java Copy srcFile destFile" ); System.exit( 0 ); } // On vérifie la présence du fichier source. File srcFile = new File( args[0] ); if ( srcFile.exists() == false ) { System.err.printf( "Le fichier %s n'existe pas : la copie est impossible\n", args[0] ); System.exit( -1 ); } // On ouvre deux flux (un en entrée et l'autre en sortie) pour réaliser la copie du fichier. // On utilise pour cela un try-with-resources afin de garantir la fermeture des flux. try ( InputStream inputStream = new FileInputStream( args[0] ); OutputStream outputStream = new FileOutputStream( args[1] ) ) { // On transfert tous les octets du fichiers source dans le fichier de destination. inputStream.transferTo( outputStream ); // On affiche un message de confirmation. System.out.printf( "Copie terminée : %d octets copiés.\n", srcFile.length() ); } catch( Exception exception ) { System.err.println( "La copie du fichier est impossible." ); System.exit( -1 ); } } } |
Nom | Description |
---|---|
ObjectInputFilter.Status |
Nom | Description |
---|---|
Serial |
Nom | Description |
---|---|
IOError |
Nom | Description |
---|---|
LineNumberInputStream | |
StringBufferInputStream |
Améliorations / Corrections
Vous avez des améliorations (ou des corrections) à proposer pour ce document : je vous remerçie par avance de m'en faire part, cela m'aide à améliorer le site.
Emplacement :
Description des améliorations :