Programmation des réseaux avec Java

Les entrées sorties


Exercice 1 - Copie de fichiers

On cherche à écrire un programme effectuant la copie de fichiers. On utilisera pour cela le paquetage java.io.

  1. Écrire, dans un premier temps, une copie de l'entrée standard (System.in) sur la sortie standard (System.out), octet par octet.
  2. Modifier le programme pour prendre deux fichiers sur la ligne de commande si ceux-ci sont spécifiés ; si ceux-ci ne sont pas spécifiés on utilise respectivement l'entrée standard ou la sortie standard. Exemple: java Copy fichier.in fichier.out
  3. Modifier le programme pour utiliser un tableau de 8000 octets pour le transfert.
  4. Utiliser les entrées/sorties bufferisées (BufferedInputStream et BufferedOutputStream).

Exercice 2 - Manipulation de fichiers texte

On cherche à écrire un programme effectuant la copie des lignes paires d'un fichier texte. Le fichier est pris en tant que premier paramètre, la sortie est effectuée sur la sortie standard.

  1. En utilisant la méthode readLine() de BufferedReader.
  2. En utilisant un LineNumberReader.

Exercice 3 - Manipulation de fichier binaire

On cherche à lire/sauvegarder un ensemble de points de la classe Point qui comporte deux champs entiers x et y.

  1. Créer un programme permettant de sauvegarder les points en utilisant un DataOutputStream. Créer un programme permettant de lire le résultat obtenu.
  2. Modifier les programmes précédents pour utiliser les classes ObjectOutputStream et ObjectInputStream.

Exercice 4 - Liste des éléments d'un répertoire

Écrire un programme qui liste le contenu d'un répertoire, à la façon de la commande ls -l en Unix: pour chaque élément, on affichera sur une ligne un si c'est un répertoire ou un fichier, si le fichier est en lecture ou en écriture, sa taille et son nom.


Etienne.Duris[at]univ-mlv.fr - © Université de Marne-La-Vallée - Novembre 2003