IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
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

avec Java Discussion :

Utilisation du filepointer dans un RandomAccessFile


Sujet :

avec Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Octobre 2007
    Messages
    27
    Détails du profil
    Informations personnelles :
    Âge : 57

    Informations forums :
    Inscription : Octobre 2007
    Messages : 27
    Par défaut Utilisation du filepointer dans un RandomAccessFile
    Bonjour. Je voudrais écrire à la fin d'un fichier qui contient déjà des enregistrements. Je l'ai donc décrit comme un RandomAccessFile, mais je ne sais pas gérer le file pointer :

    où pointe t'il quand on le déclare, avant la première action ? au début, j'imagine..

    comment alors le déplacer à la fin autrement qu'en le lisant jusqu'au bout ?

    Merci d'avance de vos réponses.

  2. #2
    Membre Expert
    Avatar de CheryBen
    Inscrit en
    Mai 2005
    Messages
    1 599
    Détails du profil
    Informations personnelles :
    Âge : 43

    Informations forums :
    Inscription : Mai 2005
    Messages : 1 599
    Par défaut
    Bonjour, pourquoi ne pas faire comme ceci pour écrire à la fin du fichier? : FAQ : Comment écrire à la fin d'un fichier ?

  3. #3
    Membre averti
    Inscrit en
    Octobre 2007
    Messages
    27
    Détails du profil
    Informations personnelles :
    Âge : 57

    Informations forums :
    Inscription : Octobre 2007
    Messages : 27
    Par défaut
    J'ai également un souci dans l'écriture : mon fichier de sortie contient des codes à zéro (donc je ne peux pas faire de copier/coller pour vous montrer)..

    je voudrais en faire manipuler des strings :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    	fileStockTmp_Entree = new RandomAccessFile(chemin2 +nomFichier,"rwd");
    	RandomAccessFile fileRejets_Sortie = new RandomAccessFile(chemin+"REJETS.TXT","r");
    	String EnregRejets = fileRejets_Sortie.readLine();
    	while (EnregRejets != null){
    		fileStockTmp_Entree.writeChars(EnregRejets);
    		EnregRejets = fileRejets_Sortie.readLine();
    	}
    	fileStockTmp_Entree.close();
    	fileRejets_Sortie.close();
    mais le résultat n'est pas là...
    Merci d'avance.

  4. #4
    Membre averti
    Inscrit en
    Octobre 2007
    Messages
    27
    Détails du profil
    Informations personnelles :
    Âge : 57

    Informations forums :
    Inscription : Octobre 2007
    Messages : 27
    Par défaut
    ok, merci, morph41, j'essaie et vous tiens au courant...

  5. #5
    Membre averti
    Inscrit en
    Octobre 2007
    Messages
    27
    Détails du profil
    Informations personnelles :
    Âge : 57

    Informations forums :
    Inscription : Octobre 2007
    Messages : 27
    Par défaut
    c'est ok pour l'ajout en fin de fichier, par contre, je n'ai pas de séparateur de ligne, je n'ai qu'un seul et long enregistrement... j'ai beau mettre un newLine(), ça na donne rien..

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    	fileStockTmp_Entree = new FileWriter(chemin2 +nomFichier,true);
    	BufferedWriter bwStockTmp_Entree = new BufferedWriter(fileStockTmp_Entree);
    	RandomAccessFile	fileRejets_Sortie = new RandomAccessFile(chemin+"REJETS.TXT","r");
    	String EnregRejets = fileRejets_Sortie.readLine();
    	while (EnregRejets != null){
    		fileStockTmp_Entree.write(EnregRejets,0,EnregRejets.length());
    		bwStockTmp_Entree.newLine();
    		EnregRejets = fileRejets_Sortie.readLine();
    	}
    	bwStockTmp_Entree.flush();
    	fileStockTmp_Entree.close();
    	fileRejets_Sortie.close();
    ça me donne :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    (déjà la avant)1667;2;ICP010;00334;04/06/2008;N;C;63021475830;00005526;
    (déjà la avant)1667;2;ICP010;00334;04/06/2008;N;D;000000002901586;00005526;
    (déjà la avant)1669;2;ICP010;00334;04/06/2008;N;C;63021476191;00005526;
    (déjà la avant)1669;2;ICP010;00334;04/06/2008;N;D;000000002901587;00005526;
    (déjà la avant)1671;3;ICP010;00334;04/06/2008;N;C;63021629060;00005526;
    (déjà la avant)1671;3;ICP010;00334;04/06/2008;N;D;000000002901588;00005526;
    (nouvelle data)895;1;ICU03;01114;02/06/2008;N;P;00230243;00005450;895;1;ICU03;01114;02/06/2008;N;D;000000002893693;00005450;896;1;ICU02;011...etc...
                                                                     ??? enregs mis les uns à la suite des autres sans séparateur...
    Meci d'avance.

  6. #6
    Membre Expert
    Avatar de CheryBen
    Inscrit en
    Mai 2005
    Messages
    1 599
    Détails du profil
    Informations personnelles :
    Âge : 43

    Informations forums :
    Inscription : Mai 2005
    Messages : 1 599
    Par défaut
    Il faudrait ajouter le caractère de fin de ligne à chaque écriture :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    // attributs de la classe
    public static final LINE_SEPARATOR = System.getProperty("line.separator");
     
    // [...] code précédent
    fileStockTmp_Entree.write(EnregRejets,0,EnregRejets.length());
    fileStockTmp_Entree.write(LINE_SEPARATOR,0,LINE_SEPARATOR.length());

  7. #7
    Membre averti
    Inscrit en
    Octobre 2007
    Messages
    27
    Détails du profil
    Informations personnelles :
    Âge : 57

    Informations forums :
    Inscription : Octobre 2007
    Messages : 27
    Par défaut
    C'est impecc !! Merci beaucoup, morph41

    A bientôt.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Utilisation de MAX dans une requête SQL
    Par Evil onE dans le forum Langage SQL
    Réponses: 7
    Dernier message: 15/06/2004, 18h38
  2. Utilisation fonction définie dans un .Dll
    Par jeab. dans le forum Windows
    Réponses: 5
    Dernier message: 23/03/2004, 16h23
  3. Réponses: 3
    Dernier message: 11/03/2004, 10h58
  4. impossible d'utiliser ma fonction dans un insert
    Par caramel dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 10/04/2003, 15h04
  5. Utilisation de Pointeurs dans API windows
    Par Drooxy dans le forum API, COM et SDKs
    Réponses: 4
    Dernier message: 13/03/2003, 22h39

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo