[Java] Manipulation de fichiers

Tous les benchmarks, vos résultats, vos tests.
Vos programmes, vos conseils logiciel
Votre matos, vos problèmes

Modérateur: Team Azerty

[Java] Manipulation de fichiers

Messagepar tonyo sur Mar 07 Oct 2003, 16:26:39

Est-ce que y aurait des Java-man qui connaitraient des bons sites qui auraient des bons tutoriaux sur la manipulation de fichiers ?
Edit by Nico: j'ai déplace ton post pour plus de klarte
Au royaume des aveugles les borgnes sont rois...
tonyo
Habitué
 
Messages: 266
Inscrit le: Jeu 10 Oct 2002, 13:30:14

Messagepar Nicolazerty sur Mar 07 Oct 2003, 16:47:39

fichiers text ou binaire?

sinon il devrait y avoir des trucs ici:
http://java.developpez.com/cours/
Nicolazerty
l'élu
 
Messages: 3415
Inscrit le: Ven 27 Sep 2002, 13:59:20
Localisation: 92

Messagepar tonyo sur Jeu 09 Oct 2003, 12:17:15

Les 2 en fait. Je suis déjà allé sur ton site et j'ai pris pas mal de doc, mais ça m'aurait plus aidé un tuto spécial sur la manip de fichier.

J'crois (d'après ce que j'ai pu voir) qu'il existe plusieurs classes qui proposent des methodes différentes, donc c'était pour choisir la plus "saine" et plus utilisée.
Au royaume des aveugles les borgnes sont rois...
tonyo
Habitué
 
Messages: 266
Inscrit le: Jeu 10 Oct 2002, 13:30:14

java for ever

Messagepar Aurelienazerty sur Jeu 09 Oct 2003, 12:28:26

J'ai de bon truc pour les fichiers texte... Le problème c'est que je n'ai pas ça de tête, et surtout, que ce n'est pas un cours, mais un bout d'un de mes progs... Mais je sais que c'était un truc avec des bufferreader et que c'était hyper symple à utiliser...
Avatar de l’utilisateur
Aurelienazerty
Webmaster / Président
 
Messages: 10014
Inscrit le: Ven 27 Sep 2002, 20:41:26
Localisation: Vienne (Capitale du monde)

Messagepar Nicolazerty sur Ven 10 Oct 2003, 18:16:46

voila un peu de code extrait de chez moi bon c'est assez basique mais ca t'aidera peut etre...
Code: Tout sélectionner
//lecture
    User temp=null;
    try
    {
        ObjectInputStream InputFile;
        InputFile=new ObjectInputStream(new FileInputStream(nameFile));
        temp=((User) InputFile.readObject());
        InputFile.close();

    }

    catch(Exception ex)
    {
        System.out.println("An error has occured while working on "+nameFile);
    }
    return temp;
///////////////////////////////////////////////////////////////////////////
//ecriture
String name=this.login;
    try
    {
        ObjectOutputStream OutputFile;
        OutputFile=new ObjectOutputStream(new FileOutputStream(name+".user"));
        OutputFile.writeObject(this);
        OutputFile.close();
        System.out.println("User saved");
    }
    catch(Exception ex)
    {
        System.out.println("An error has occured while working on "+name+".user");
    }
Nicolazerty
l'élu
 
Messages: 3415
Inscrit le: Ven 27 Sep 2002, 13:59:20
Localisation: 92

Messagepar tonyo sur Sam 11 Oct 2003, 9:55:26

Ok merci, j'vais analyser ça :D !
Au royaume des aveugles les borgnes sont rois...
tonyo
Habitué
 
Messages: 266
Inscrit le: Jeu 10 Oct 2002, 13:30:14

du fichier texte

Messagepar Aurelienazerty sur Sam 11 Oct 2003, 13:12:30

tiens un peu de lecture de fichier texte:

La classe
Code: Tout sélectionner
package bdd;

import java.util.*;
import java.io.*;

/**
* Classe ConfReader
* <br>Création : juin 2002
* <br>Permet la lecture du fichier de configuration de la Bdd
* @author WILLEM Aurélien
* @version 1.0
*/

public class ConfReader{
   
   private String fichierConfig = "configuration.txt";
   private String tabClef[] = {"server","user","db","pass"};
   private String value[] = {"server","user","db","pass"};
   
   private int chercher(String s){
      int i;
      for (i=0;i<tabClef.length;i++){
         if (tabClef[i].equals(s)) return i;
      }
      System.out.println("Pb");
      return -1;
   }
   
   /** Accesseur
      @return le login de l'utilisateur*/
   public String getUser(){
      return value[chercher("user")];
   }
   
   /** Accesseur
      @return le serveur*/
   public String getServer(){
      return value[chercher("server")];
   }
   
   /** Accesseur
      @return le nom de la bdd*/
   public String getDb(){
      return value[chercher("db")];
   }
   
   /** Accesseur
      @return le mot de pass de l'utilisateur*/   
   public String getPass(){
      String pass = value[chercher("pass")];
      if ( pass.equals("no") ) {
         return null;
      } else {
         return pass;
      }
   }
   
   /** Lis le fichier de configuration*/
   public ConfReader(){
      try{
         FileReader myFileReader = new FileReader(fichierConfig);
            StreamTokenizer myStream = new StreamTokenizer(myFileReader);
            //System.out.println("Chargement du fichier de configuration "+fichierConfig);
            myStream.nextToken();
            while (myStream.ttype != StreamTokenizer.TT_EOF) {
               String clef, valeur;
               
              myStream.pushBack();
              myStream.nextToken();
              clef = myStream.sval;
              myStream.nextToken();
              if (myStream.ttype == StreamTokenizer.TT_EOF){
                 System.out.println("Synstax error line " + myStream.lineno() + ":");
                 System.out.println("La clef "+clef+" n'a pas de valeur");
                 System.exit(0);
              }
              myStream.pushBack();
              myStream.nextToken();
              valeur = myStream.sval;
              int i;
              if ((i = chercher(clef)) == -1){
                 System.out.println("Syntax error line " + myStream.lineno() + " in "+fichierConfig+":");
                 System.out.println(clef + " N'est pas une clef de configuration valide");
                 System.out.println("Seul 'server' 'user' 'db' 'pass' sont des clefs autorisés");
                 System.exit(0);
               } else {
                  value[i] = valeur;
               }
              myStream.nextToken();
           }
           myFileReader.close();

      } catch (IOException e) {
         System.err.println(e);
         System.exit(0);
      }
      //System.out.println("Configuration Chargée");
   }
   
   /** Méthode pour tester la classe*/
   public static void main(String [] args) {
      
      ConfReader maConf = new ConfReader();
      System.out.println("Configuration Chargée:");
      System.out.println("Serveur: "+maConf.getServer());
      System.out.println("Bdd: "+maConf.getDb());
      System.out.println("User: "+maConf.getUser());
      System.out.println("Pass: "+maConf.getPass());
      
   }
   
}
Le fichier de configuration
Code: Tout sélectionner
//Fichier de configuration pour le projet Java

"server"   "localhost"    //Serveur Mysql
"user"      "root"      //Utilisateur de la base
"pass"      "no"       //Mot de pass pour l'utilisateur 'no' s'il n'y en a pas
"db"      "projet"   //Base de donnée
Tu remarques que les commentaires sont ignorés par Tokeniser, j'ai aussi des exemple de sérialisation d'objet dans des fichiers binaires...
L'ensemble du projet (Java+bdd) est à l'adresse suivante: http://www-ufrima.imag.fr/TEST/porjetJava.zip Pour la sérialisation, c'est un autre projet java...
Avatar de l’utilisateur
Aurelienazerty
Webmaster / Président
 
Messages: 10014
Inscrit le: Ven 27 Sep 2002, 20:41:26
Localisation: Vienne (Capitale du monde)

Messagepar tonyo sur Dim 12 Oct 2003, 10:01:59

Ok, thanks je vais essayer de comprendre 8)
Au royaume des aveugles les borgnes sont rois...
tonyo
Habitué
 
Messages: 266
Inscrit le: Jeu 10 Oct 2002, 13:30:14


Retourner vers Software / Hardware

Qui est en ligne ?

Utilisateurs parcourant actuellement ce forum : Aucun utilisateur inscrit et 0 invités

cron