Blue Flower

Chercher

Qu'est ce qu' un Path ?

La plupart des systèmes de fichiers actuellement utilisés stockent les fichiers dans une structure arborescente (ou hiérarchique). Au sommet de l'arborescence se trouve un (ou plusieurs) nœud racine. Sous le nœud racine, il y a des fichiers et des répertoires (dossiers dans Microsoft Windows). Chaque répertoire peut contenir des fichiers et des sous-répertoires, qui peuvent à leur tour contenir des fichiers et des sous-répertoires, etc., potentiellement à une profondeur presque illimitée.

Un fichier est identifié par son chemin d'accès dans le système de fichiers, en partant du nœud racine;

Les Fichiers Java

La classe File définie comme suit:

"public class File extends Object implements Serializable, Comparable<File>" 

est une classe abstraite qui représente à la fois les fichiers et les répertoires

Cette  classe File n'est pas utilisée pour lire ou écrire des données (pour cela il existe d'autres classes java) ; elle  est utilisée pour la création de nouveaux fichiers vides, pour faire des recherches dans des fichiers , pour supprimer des fichiers ( elle sert aussi pour les mêmes actions dan les  répertoires - créer , ...) .
Prenons l'exemple suivant :
File file = new File("monFile.txt");

Après cette ligne de code on a créé juste un objet "file" de type File  mais on a aucun fichier physique dans mon répertoire de travail; pour créer effectivement le fichier physique on utilise la méthode "File.createNewFile() de type booléen comme suit:

Boolean leFichierEstcree = file.createNewFile();

Cette méthode crée le fichier physique "monFile.txt"  s'il n'existe pas sur le disque  (dans ce cas elle retourne false i.e que le fichier en question n'existe pas sur le disque  par conséquent  il va être créé ) si le fichier "monFile.txt" existe déjà sur le disque et la méthode retourne "true" ( le fichier en question existe sur le disque et il n'est pas à créé) .

Les flux

Le package java.io fournit une bibliothèque complète de classes permettant de traiter les entrées et les sorties. Java fournit le flux en tant que mécanisme général pour les E / S de données
Stream implémente un accès séquentiel aux données. Il existe deux types de flux: les flux d'octets (flux binaires) et les flux de caractères (flux de texte).

.................

An input stream is an object that an application can use to read a sequence of data, and an output stream is an object that an application can use to write a sequence of data. An input stream  acts as a source of data, and an output acts as a destination of data.

.................. 

  • FileReader
    This class is used to read character files. Its read() methods are fairly low-level, allowing us to read single characters, the whole stream of characters, or a fixed number of characters. FileReaders are usually wrapped by higher-level objects such as BufferedReaders, which improve performance and provide more convenient ways to work with data.
  • BufferedReader
    This class is used to make lower-level Reader classes like FileReader more efficient and easier to use. Compared to FileReaders, BufferedReaders read relatively large chunks of data from a file at once, and keep this data in a buffer. When you ask for the next character or line of data, it is retrieved from the buffer, which minimizes the number of times that time-intensive, file read operations are performed. In addition, BufferedReader provides more convenient methods such as readLine(), that allow us to get the next line of characters from a file.
  • BufferedWriter
    This class is used to make lower-level classes like FileWriters more efficient and easier to use. Compared to FileWriters, BufferedWriters write relatively large chunks of data to a file at once, minimizing the number of times that slow, file writing operations are performed. The BufferedWriter class also provides a newLine() method to create platform-specific line separators automatically.
  • PrintWriter
    This class has been enhanced significantly in Java 5. Because of newly created methods and constructors (like building a PrintWriter with a File or a String), we might find that we can use PrintWrite in places where we previously needed a Writer to be wrapped with a FileWriter and/or a BufferedWriter. New methods like format(), printf(). and append() make PrintWriters very flexible and powerful.
  • Console
    This new, Java 6 convenience class provides methods to read input from the console and write formatted output to the console

....................

Les flux (streams en anglais) permettent d'encapsuler les processus permettant d'envoyer  et de recevoir des données en Java. Le traitement des flux de données se font de façon séquentielle. En jav les flus de données sont vues soit sous forme de:

  • de flux d'entrée (input stream) et de flux de sortie (output stream)
  • de flux de traitement de caractères et de flux de traitement d'octets

En Java  les flux servent pour lire ou écrire des données. En java  on dispose aussi  de classes pour  faire des traitements sur les données du flux. Ces classes sont spécialisées soit à  lecture soit à l'écriture.

Toutes ces classes sont regroupées dans le package java.io.

...