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