Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Entrée/Sortie Java Discussion :

Tutoriel sur la manipulation des fichiers


Sujet :

Entrée/Sortie Java

  1. #1
    Membre régulier
    Tutoriel sur la manipulation des fichiers
    Bonjour,
    J'ai préparé un support de cours concernant la gestion des fichiers avec Java.
    Pouvez-vous me faire part de vos remarques et commentaires ?
    Pensez-vous que ce document aurait sa place dans les tutoriel java de developpez ?

    Un grand merci pour vos futures réponses.

    P.S. : ce document n'a pas la prétension d'être complet. Il a pour but de fournir les éléments de base pour les manipulations de base.
    Avez-vous remarqué les progrès que fait l'ignorance?
    [Tristan Bernard ]

  2. #2
    Membre éclairé
    Bonjour,

    J'ai trouvé ce document interressant, il faudrait par contre corriger toutes les fautes qui sont assez nombreuses à bien y regarder, aussi bien d'orthographe, de grammaire comme de ponctuation (on n'insistera jamais assez sur l'importance de la virgule dans un texte ).

    J'ai une question, ceci n'est pas un peu contradictoire?
    Il n'est pas possible d'ouvrir un fichier en lecture et en écriture. Il existe une classe qui permet ce mode mixte.


    Ce cours doit s'adresser à des élèves de quel niveau?
    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Par exemple pour ouvrir un fichier texte en écriture :
    FileWriter flux = new FileWriter("c:/exemple.txt");
    PrintWriter fWrite = new PrintWriter( flux );
     Cette déclaration peut se faire en une seule opération
    PrintWriter fWrite = new PrintWriter( new FileWriter("c:/exemple.txt") );
    Échec lors de fermeture : Des données sont dans le tampon et ne peuvent pas être flushées.
    Entre ces 2 citations, on saute du coq à l'ane. La difference de niveau est très importante. Si les étudiants sont débutants, la deuxième citation risque d'en pertuber plus d'un .

    A suivre ...

  3. #3
    Rédacteur

    Même remarque que zorm.

    J'ajouterais que j'ai particulièrement apprécié l'aspect "A jour" de cet article, dans lequel tu donnes un exemple d'utilisation de la classe Scanner à la fin.

    Par contre, pour justement avoir un tuto complètement à jour par rapport aux derniers JDK, je trouve qu'il manque un commentaire (avec éventuellement un exemple d'utilisation) sur la classe Channel, qui permet d'optimiser les lectures/écritures de fichier.
    Avant de poster, pensez à regarder la FAQ, les tutoriaux, la Javadoc (de la JRE que vous utilisez) et à faire une recherche
    Je ne réponds pas aux questions techniques par MP: les forums sont faits pour ça
    Mes articles et tutoriaux & Mon blog informatique

  4. #4
    Membre régulier
    Merci pour ces premières remarques.
    J'ai en effet encore du travail de relecture à faire...
    Ces étudiants suivent une formation de type BAC+2 orientée informatique de gestion (vive Bologne). Ce chapitre sera traité en fin de première ou en début de deuxième.
    La deuxième citation fait partie d'une liste d'erreurs possibles et ne nécessitent pas d'explications détaillées dans cette partie introductive.
    Avez-vous remarqué les progrès que fait l'ignorance?
    [Tristan Bernard ]

  5. #5
    Expert confirmé
    J'ai lu vite fait et ça m'a l'air pas mal.

    Voici quelques petites remarques :
    • Partie 1.8 Fermeture : insister sur le fait que la méthode close() doit être exécutée dans un bloc finally comme dans cet exemple (Partie 2.1.1) (mais il faut rajouter un test car f peut être null si une exception est levée à l'instanciation)
    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    public void creation() throws IOException, ClassNotFoundException {    
        ObjectOutputStream f = null;
        try {
            f = new ObjectOutputStream(new FileOutputStream("c:/exemple.bin"));
            f.writeObjectI(new Data(1,"un"));
            f.writeObjectI(new Data(2,"deux"));
            f.writeObjectI(new Data(3,"trois"));
            f.writeObjectI(new Data(4,"quatre"));
        } finally {
            if(f != null) {
                f.close();
            }
        }
    }
    Je ne répondrai à aucune question technique par MP.

    Pensez aux Tutoriels et aux FAQs avant de poster (pour le java il y a aussi JavaSearch), n'oubliez pas non plus la fonction Rechercher.
    Enfin, quand une solution a été trouvée à votre problème
    pensez au tag

    Cours Dvp : http://ydisanto.developpez.com
    Blog : http://yann-disanto.blogspot.com/
    Page perso : http://yann-disanto.fr

###raw>template_hook.ano_emploi###