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

Collection et Stream Java Discussion :

Un Stream dynamique.


Sujet :

Collection et Stream Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de Razgriz
    Profil pro
    Professeur / chercheur en informatique / mathématiques
    Inscrit en
    Avril 2006
    Messages
    391
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Professeur / chercheur en informatique / mathématiques

    Informations forums :
    Inscription : Avril 2006
    Messages : 391
    Par défaut Un Stream dynamique.
    Voilà, je voudrais savoir s'il existe des streams dynamiques, après avoir cherché je n'en trouve pas, je m'explique...

    J'ai par exemple un fichier de 10 lignes, et je voudrais qu'un streal le considère en quelque sorte comme une liste chaînée, pour qu'à l'aide d'un itérateur par exemple je puisse écrire à la 4è ligne sans perte de complexité, c'est-à-dire que je veux écrire à la troisième ligne sans recopier les 8 autres ensuite...

    Voilà je sais pas si c'était clair, merci d'avance...

  2. #2
    Membre émérite
    Profil pro
    Architecte technique
    Inscrit en
    Mars 2002
    Messages
    966
    Détails du profil
    Informations personnelles :
    Âge : 53
    Localisation : France

    Informations professionnelles :
    Activité : Architecte technique

    Informations forums :
    Inscription : Mars 2002
    Messages : 966
    Par défaut
    Tu as regardé RandomAccess File, sinon je ne sais pas.

    En tout cas j'adore ton avatar et surtout ce dessinateur Alberto Varanda

  3. #3
    Membre éclairé Avatar de Razgriz
    Profil pro
    Professeur / chercheur en informatique / mathématiques
    Inscrit en
    Avril 2006
    Messages
    391
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Professeur / chercheur en informatique / mathématiques

    Informations forums :
    Inscription : Avril 2006
    Messages : 391
    Par défaut
    RandomAcces ne s'utilise que pour la lecture je crois.

    Sinon l'avatar vient de la couverture du tome 2 de la série de 4 bd Paradis Perdu (ledit tome est intitulé purgatoire), par les Editions Soleil (autheur : Ange ~ Xavier ~ Alexe )



    Sinon pour en revenir à l'informatique, y a qqn qui aurait une solution à mon problème?

  4. #4
    Membre éclairé Avatar de Razgriz
    Profil pro
    Professeur / chercheur en informatique / mathématiques
    Inscrit en
    Avril 2006
    Messages
    391
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Professeur / chercheur en informatique / mathématiques

    Informations forums :
    Inscription : Avril 2006
    Messages : 391
    Par défaut
    Je corrige : RandomAccesFile fais effectivement la lecture et l'écriture, et on écrit là ou on veut grace à la méthode seek(long). Le problème est que le paramètre indique le num du caractère après lequel on veut écrire, ce qui ne nous arrange pas si on veut écrire à la ligne 8 par exemple, sauf si toutes les lignes possèdent un nombre fixe de caractères...

    Donc, qqn a-t-il une idée constructive d'un point de vue complexité avantageuse s'il n'existe rien de précréé?

  5. #5
    Expert confirmé
    Avatar de sinok
    Profil pro
    Inscrit en
    Août 2004
    Messages
    8 765
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2004
    Messages : 8 765
    Par défaut
    Euh ou pas, sinon quel serait l'intérêt de la méthode write qu'elle possède

    Edit grillé

  6. #6
    Membre éclairé Avatar de Razgriz
    Profil pro
    Professeur / chercheur en informatique / mathématiques
    Inscrit en
    Avril 2006
    Messages
    391
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Professeur / chercheur en informatique / mathématiques

    Informations forums :
    Inscription : Avril 2006
    Messages : 391
    Par défaut
    euh j'ai pas bien compris ta remarque sinok...

    En fait RandomAcesFile ne fonctionne pas comme je le voudrait, dans le sens ou quand on écrit, on "écraseé les bits sur lesquels on écrit.

    Par ex soit le fichier texte contenant les lignes

    1
    2
    3
    5
    6
    7
    8
    9

    J'utilise seek(9L) pour aller à la 4è ligne (3 pour les lignes + 3 * 2 caractères pour le fin de ligne), et ensuite je veux écrire le chiffre 4.

    et ben ça marche pas et ça donne :

    1
    2
    3
    => ici on le voit pas mais y a un caractère binaire (petit rectangle et ça tient en une ligne)
    7
    8
    9

    ce qui n'est pas le résultat escompté.


    Comment palier à ma situation?

  7. #7
    Expert confirmé
    Avatar de sinok
    Profil pro
    Inscrit en
    Août 2004
    Messages
    8 765
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2004
    Messages : 8 765
    Par défaut
    Désolé tu avait déja répondu quand j'ai pu poster en fait...

    Sinon pour le randomAccessFile mieux vaut passer par la méthode write qui prend en paramètre un tablea de byte

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
     RandomAccessFile r = new RandomAccessFile(file, "rws");
                r.write(new String("The sky is blue").getBytes());
                r.close();
    ce code marche correctement, bon ensuite il est simpliste.

    Ensuite pour ajouter seulement un caractère il faut passer par son code ascii

    Soit le caractère '9'
    son code ascii vaut 57

    don pour avoir 9 dans ton fichier il faut faire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    RandomAccessFile r = new RandomAccessFile(file, "rws");
                r.write(57);
                r.close();
    ou encore, en version plus compréhensible

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    RandomAccessFile r = new RandomAccessFile(file, "rws");
                r.write((int) '9');
                r.close();

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

Discussions similaires

  1. Streaming des playlistes dynamiques
    Par nono21000 dans le forum Applications et environnements graphiques
    Réponses: 2
    Dernier message: 08/08/2008, 00h21
  2. comment creer un alias dynamique avec BDE et ODBC
    Par david33 dans le forum C++Builder
    Réponses: 2
    Dernier message: 12/07/2002, 12h50
  3. Création dynamique de TImages
    Par Dric dans le forum C++Builder
    Réponses: 10
    Dernier message: 08/07/2002, 13h36
  4. Réponses: 4
    Dernier message: 13/05/2002, 17h43
  5. repertoire temp dynamique
    Par killpilot dans le forum C
    Réponses: 2
    Dernier message: 26/04/2002, 17h19

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