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

API standards et tierces Android Discussion :

Accès fichiers texte


Sujet :

API standards et tierces Android

  1. #1
    Membre habitué
    Profil pro
    Développeur informatique
    Inscrit en
    Février 2008
    Messages
    289
    Détails du profil
    Informations personnelles :
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Février 2008
    Messages : 289
    Points : 151
    Points
    151
    Par défaut Accès fichiers texte
    Bonjour,
    J'ai besoin de stocker une valeur issue d'un calcul ainsi que la date dans un fichier texte. Un enregistrement par ligne. Ces valeurs ne seront utilisées que par l'application.

    Je n'ai pas de compétences particulières en développement Android aussi j'ai testé beaucoup de solutions proposées sur internet sans succès pour l'instant.

    Où j'en suis:

    J'ai demandé la permission dans le manifeste:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    <!-- ENABLE PERMISSIONS ABOUT EXTERNAL STORAGE ACCESS -->
        <uses-permission
            android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
    Le code pour stocker:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
     
    FileOutputStream fos = null;
    try {
        /*
        String data = Float.toString(resultat);
        FileWriter fw = new FileWriter(file_name,true);
        BufferedWriter bw = new BufferedWriter(fw);
        fw.write(data);
        fw.close();
        */
     
        fos = new FileOutputStream(file_name, true);
        String data = Float.toString(resultat);
        fos.write(data.getBytes());
        fos.close();
    } catch (FileNotFoundException e) {
        Log.d("DEBUG","FileNotFoundException");
        Toast.makeText(MainActivity.this, "FileNotFoundException " + e.getMessage(), Toast.LENGTH_LONG).show();
    } catch (IOException e) {
        Log.d("DEBUG","IOException");
    }
    J'ai essayé les deux versions de code mais j'ai toujours le toast "FileNotFoundException " à l'exécution.
    Merci pour toute suggestion, modification, etc...

  2. #2
    Membre habitué

    Homme Profil pro
    Enseignant
    Inscrit en
    Février 2020
    Messages
    167
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Drôme (Rhône Alpes)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Février 2020
    Messages : 167
    Points : 162
    Points
    162
    Par défaut à tout hasard....
    bonjour,

    tu as une "file not find exception".. Es-tu certain que ton fichier a bien été créé avant quelque part??
    Peut-être que le fichier "file_name" n'est pas trouvé, car il n'a pas été créé, tout simplement...

    pour ma part, pour écrire dans un fichier "file", dont j'ai vérifié l'existence, je fais plutôt :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    // 3 création des flux de sortie et écriture
    	FileOutputStream fos = new FileOutputStream(file);
    	ObjectOutputStream oss = new ObjectOutputStream(fos);
     
    		oss.writeObject(Var.g1);
    		oss.close();
    		fos.close();
          JOptionPane.showMessageDialog(null, "Enregistrement effectué.");
    cette méthode fonctionne dans mon cas. Tu peux la transposer dans ton cas pour voir?....

  3. #3
    Membre habitué
    Profil pro
    Développeur informatique
    Inscrit en
    Février 2008
    Messages
    289
    Détails du profil
    Informations personnelles :
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Février 2008
    Messages : 289
    Points : 151
    Points
    151
    Par défaut
    Bonjour et merci pour ta réponse,
    après pas mal de tribulations, j'y arrive de cette manière:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    String file_name = "mesures.data";
    FileOutputStream fos = null;
     
    try {
        fos = openFileOutput(file_name, Context.MODE_PRIVATE | Context.MODE_APPEND);
        String s = Float.toString(mesure);
        fos.write(s.getBytes());
        fos.close();
    } catch (FileNotFoundException e) {
        Log.d("DEBUG", "FileNotFoundException");
    } catch (IOException e) {
        Log.d("DEBUG", "IOException");
    }
    La différence est l'utilisation de openFileOutput dont je ne trouve pas la doc. Il faut que j'avance mais j'aurai l'occasion d'y revenir...
    Merci.

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

Discussions similaires

  1. Accès fichier texte livebox
    Par moi411732 dans le forum Android
    Réponses: 0
    Dernier message: 28/02/2016, 10h12
  2. Accès fichier texte serveur distant
    Par Yozol dans le forum Développement de jobs
    Réponses: 4
    Dernier message: 14/05/2012, 23h26
  3. écrire dans un fichier texte / bloquer accès http
    Par superseba888 dans le forum Access
    Réponses: 2
    Dernier message: 23/08/2006, 15h23
  4. Question bête: accés concurent à un fichier texte
    Par djynwk dans le forum Langage
    Réponses: 6
    Dernier message: 26/07/2006, 00h54
  5. Export Table Acces vers fichier Texte
    Par ston dans le forum Access
    Réponses: 2
    Dernier message: 04/04/2006, 17h21

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