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

Entrée/Sortie Java Discussion :

[Débutant][Fichier] Pb RandomAccessFile


Sujet :

Entrée/Sortie Java

  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    309
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 309
    Points : 148
    Points
    148
    Par défaut [Débutant][Fichier] Pb RandomAccessFile
    Mon code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    		try{
    			RandomAccessFile fichier = new RandomAccessFile("fichier.dat","rw");
    			fichier.writeInt(32);
    			fichier.close();
    		}catch(Exception e){
    			e.printStackTrace();
    		}
    Si je spécifie simplement "fichier.dat" où Eclipse ira-t-il me le chercher ?

    Tymk

  2. #2
    Membre du Club
    Homme Profil pro
    Inscrit en
    Septembre 2003
    Messages
    69
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations forums :
    Inscription : Septembre 2003
    Messages : 69
    Points : 59
    Points
    59
    Par défaut
    ben dans le répertoire courant. (ou le répertoire "." si tu préfères)

  3. #3
    Membre habitué
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    309
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 309
    Points : 148
    Points
    148
    Par défaut
    Pourtant lorsque j'exécute l'appli et que je regarde dans "fichier.dat" je ne vois pas "32" d'inscrit.

    J'ai également essayé en mettant le path avec le fichier mais pas de différence.

    Pourquoi ?

  4. #4
    Membre du Club
    Homme Profil pro
    Inscrit en
    Septembre 2003
    Messages
    69
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations forums :
    Inscription : Septembre 2003
    Messages : 69
    Points : 59
    Points
    59
    Par défaut
    du moment que tu vois ce qu'il y a dans fichier.dat, il a été créé, c'est déjà un bon point.

    Ensuite, si tu veux écrire 32 dans un fichier, tu peux aussi utiliser un flux textuel ou même binaire suivant l'utilisation que tu as de ton fichier.

    En textuel :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    File f = new File("fichier.dat");
    FileWriter f1 = new FileWriter(f);
    BufferedWriter f2 = new BufferedWriter(f1);
    f2.write(String.valueOf(32));

    En binaire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    File f = new File("fichier.dat");
    FileOutputStream f1 = new FileOutputStream(f);
    BufferedOutputStream f2 = new BufferedOutputStream(f1);
    DataOutputStream f3 = new DataOutputStream(f2);
    f3.writeInt(32);
    Tu peux tout faire avec ces deux méthodes, pas besoin d'aller voir plus loin.

  5. #5
    Membre émérite
    Avatar de xavlours
    Inscrit en
    Février 2004
    Messages
    1 832
    Détails du profil
    Informations forums :
    Inscription : Février 2004
    Messages : 1 832
    Points : 2 410
    Points
    2 410
    Par défaut
    J ai essaye ton bout de code, et en effet, les editeurs de texte n affichent pas 32 mais 4 espaces. C est un probleme d encodage.

    Si tu veux afficher un texte contenant "32" essaye plutot :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    writeUTF("32");
    write(new String("32").getBytes("US-ASCII"));
    Ou regarde la classe charset.

  6. #6
    Membre habitué
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    309
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 309
    Points : 148
    Points
    148
    Par défaut
    Pascmar > J'ai le même problème avec ton code qu'avec le mien et je pense que c'est plus bête que ça.

    En fait, dans mon cas le fichier.dat est déjà créer et comme il est sous C: j'ai inscrit ce code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    RandomAccessFile fichier = new RandomAccessFile("C:\fichier.dat","rw");
    sans savoir si le RandomAccessFile gère le path avec le nom de fichier.

    Et comme rien ne s'affiche dans fichier.dat je pense que ce n'est pas le cas.

    Tymk

  7. #7
    Membre habitué
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    309
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 309
    Points : 148
    Points
    148
    Par défaut
    Finalement j'ai adopté la méthode avec BufferedWriter qui fonctionne très bien

    Merci

    Tymk

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

Discussions similaires

  1. [débutant] fichier .lib
    Par HadiNET dans le forum C++
    Réponses: 5
    Dernier message: 24/02/2006, 15h08
  2. [Débutant] fichier texte
    Par laclac dans le forum Langage
    Réponses: 1
    Dernier message: 22/02/2006, 03h31
  3. [Débutant] Fichier de configuration
    Par Xavinou dans le forum Eclipse Java
    Réponses: 4
    Dernier message: 27/09/2005, 00h02
  4. [Débutant] Fichier C et Visual Studio .Net
    Par Mucsy dans le forum MFC
    Réponses: 1
    Dernier message: 13/09/2005, 12h35
  5. [Débutant][Fichier] Atteindre une ligne définie
    Par Bison_Ravi_33 dans le forum Entrée/Sortie
    Réponses: 5
    Dernier message: 07/09/2004, 23h09

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