Participer au site avec un Tip
Rechercher
 

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 :

Module : java.base
Version documentée : Java SE 17

Le paquetage java.io

Description du paquetage

Ce paquetage propose les classes de bases pour la gestions des I/O (Input/Output). Les classes de ce paquetage peuvent être organisées en plusieurs catégories.

le paquetage java.nio (new input/output) compléte (voir remplace, dans certains cas) les possibilités du paquetage java.io.

La classe File

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).

Les classes de flux binaires

Il s'agit des classes dérivant de java.io.InputStream (flux d'entrée) et de java.io.OutputStream (flux de sortie).

la sérialisation consiste à transformer un object simple, ou une grappe d'objets, en un flux séquentiel d'octets. Cela peut notamment permettre de sauvegarder des objets dans un fichier. La désérialisation est le processus inverse : la reconstruction d'objet(s) à partir d'un flux d'octets.

Les classes de flux textuels

Il s'agit des classes dérivant de java.io.Reader (flux d'entrée) et de java.io.Writer (flux de sortie).

Exemple de code

 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 );
        }
    }

}
Exemple d'utilisation de quelques classes du paquetage java.io

Disponible depuis

1.0

Voir aussi

package java.lang
package java.nio

Contenu du paquetage

Interfaces

NomDescription
Closeable
DataInput
DataOutput
Externalizable
FileFilter
FilenameFilter
Flushable
ObjectInput
ObjectInputFilter
ObjectInputFilter.FilterInfo
ObjectInputValidation
ObjectOutput
ObjectStreamConstants
Serializable

Classes

NomDescription
BufferedInputStream
BufferedOutputStream
BufferedReader
BufferedWriter
ByteArrayInputStream
ByteArrayOutputStream
CharArrayReader
CharArrayWriter
Console
DataInputStream
DataOutputStream
File
FileDescriptor
FileInputStream
FileOutputStream
FilePermission
FileReader
FileWriter
FilterInputStream
FilterOutputStream
FilterReader
FilterWriter
InputStream
InputStreamReader
LineNumberReader
ObjectInputFilter.Config
ObjectInputStream
ObjectInputStream.GetField
ObjectOutputStream
ObjectOutputStream.PutField
ObjectStreamClass
ObjectStreamField
OutputStream
OutputStreamWriter
PipedInputStream
PipedOutputStream
PipedReader
PipedWriter
PrintStream
PrintWriter
PushbackInputStream
PushbackReader
RandomAccessFile
Reader
SequenceInputStream
SerializablePermission
StreamTokenizer
StringReader
StringWriter
Writer

Types énumérés

NomDescription
ObjectInputFilter.Status

Annotations

NomDescription
Serial

Exceptions

NomDescription
CharConversionException
EOFException
FileNotFoundException
IOException
InterruptedIOException
InvalidClassException
InvalidObjectException
NotActiveException
NotSerializableException
ObjectStreamException
OptionalDataException
StreamCorruptedException
SyncFailedException
UTFDataFormatException
UncheckedIOException
UnsupportedEncodingException
WriteAbortedException

Erreurs

NomDescription
IOError

Types dépréciés (obsolètes)

NomDescription
LineNumberInputStream
StringBufferInputStream