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

Android Discussion :

Lire dans un fichier texte


Sujet :

Android

  1. #1
    Membre régulier
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    111
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 111
    Points : 119
    Points
    119
    Par défaut Lire dans un fichier texte
    Bonjour,

    Je cherche une méthode pour lire un fichier texte sous android. J'utilise Eclipse et l'émulateur associés. J'ai trouver dans des tutoriaux le code mais je ne réussis pas à accéder au fichier. Est ce que quelqu'un saurait ou sont stockés les fichiers par défaut dans une appli ?

    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
    22
    public String ReadSettings(Context context){ 
     
            FileInputStream fIn = null; 
            InputStreamReader isr = null; 
     
            char[] inputBuffer = new char[255]; 
            String data = null; 
     
            try{ 
                fIn = context.openFileInput("/data/app/test.txt");  
                isr = new InputStreamReader(fIn); 
                isr.read(inputBuffer); 
                data = new String(inputBuffer); 
     
                //affiche le contenu de mon fichier dans un popup surgissant
                Toast.makeText(context, " "+data,Toast.LENGTH_SHORT).show(); 
                } 
                catch (Exception e) {       
                	Toast.makeText(context, "Settings not read",Toast.LENGTH_SHORT).show(); 
                }
                return data; 
           }
    J'ai essayé en mettant le fichier dans /data/app/test.txt mais je en réussit pas à le lire... Quelqu'un aurait-il une idée ?
    Je n'ai pas testé sur la SD card car je n'ai pas réussit à la monter (Dans Run / Run configuration / Target, Additionnal Emulator Command lines Options, j'ai mis : "-sdcard 512M" mais apparemment, cela ne fonctionne pas. Une idée peut-être la aussi ?

    Merci d'avance,

  2. #2
    Inscrit

    Profil pro
    Inscrit en
    Février 2008
    Messages
    658
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 658
    Points : 892
    Points
    892
    Par défaut
    tu peux créer un dossier dans res nommé raw
    res/raw et mettre ton fichier text ladans et le lire.

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2008
    Messages : 13
    Points : 20
    Points
    20
    Par défaut
    Salut,

    Une méthode pour lire le contenu d'un fichier :
    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
    try {
    	FileInputStream objFile = new FileInputStream(strPathFile);
    	InputStreamReader objReader = new InputStreamReader(objFile);
    	BufferedReader objBufferReader = new BufferedReader(objReader);
    	StringBuffer objBuffer = new StringBuffer();
    	String strLine;
    	while ((strLine = objBufferReader.readLine()) != null) {
    		objBuffer.append(strLine);
    		objBuffer.append("\n");
    	}
    	objFile.close();
    	txtView.setText(objBuffer.toString());
    }
    catch (FileNotFoundException objError) {
    	Toast.makeText(this, "Fichier non trouvé\n"+objError.toString(), Toast.LENGTH_LONG).show();
    }
    catch (IOException objError) {
    	Toast.makeText(this, "Erreur\n"+objError.toString(), Toast.LENGTH_LONG).show();
    }

  4. #4
    Membre éclairé
    Avatar de N_I_C_S
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    450
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 450
    Points : 681
    Points
    681
    Par défaut
    Bonjour,
    cette discussion m'intéresse car je suis dans le même cas : j'ai placé un fichier cube.txt dans res/raw/ et essaye de l'ouvrir en faisant par exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    BufferedReader br = new BufferedReader(new InputStreamReader(new FileInputStream(context.getString(R.raw.cube))));
    et ça me renvoie une FileNotFoundException.
    Comment spécifier le chemin du fichier ?

  5. #5
    Membre éclairé
    Avatar de N_I_C_S
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    450
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 450
    Points : 681
    Points
    681
    Par défaut
    Ah ben non, c'est bon, il fallait passer par
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    context.getResources().openRawResource(R.raw.cube)
    qui retourne un InputStream
    A+

  6. #6
    Futur Membre du Club
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 13
    Points : 7
    Points
    7
    Par défaut
    Bonjour
    Je déterre ce sujet, car en suivant l'exemple j'ai un souci.
    Je developpe une application qui doit trier les données d'une autre appli.
    Les données sont stockées dans /data/data/com.applicationATrier.truk/arbitrage/joueurs/resultats.txt

    J'essaye donc d'ouvrir le fichier à partir d'une autre appli que je developpe, ça m'affiche "fichier non trouvé /data/data/com.applicationATrier.truk/arbitrage/joueurs/resultats.txt: pemission denied"

    Quelqu'un pourrait il m'aider ?
    Merci

  7. #7
    Modérateur

    Avatar de Robin56
    Homme Profil pro
    Architecte de système d'information
    Inscrit en
    Juin 2009
    Messages
    5 297
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Architecte de système d'information

    Informations forums :
    Inscription : Juin 2009
    Messages : 5 297
    Points : 13 670
    Points
    13 670
    Par défaut
    Citation Envoyé par ninnin Voir le message
    J'essaye donc d'ouvrir le fichier à partir d'une autre appli que je developpe, ça m'affiche "fichier non trouvé /data/data/com.applicationATrier.truk/arbitrage/joueurs/resultats.txt: pemission denied"
    Je le trouve étrange ton chemin, ça serait pas plutôt :
    /data/data/com/applicationATrier/truk/arbitrage/joueurs/resultats.txt

  8. #8
    Futur Membre du Club
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 13
    Points : 7
    Points
    7
    Par défaut
    Non non, c'est bien ça, c'est sur un device rooté (donc je parle pas de la sd ou autre, mais du chemin normalement "non accessible".

  9. #9
    Membre habitué
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2011
    Messages
    262
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2011
    Messages : 262
    Points : 157
    Points
    157
    Par défaut
    y'en a deux possibilité pour sauvegarder un fichier sur androïde,

    soit dans la carte sdcard et là tu as besoin des permission pour lire ou écrire.

    et soit dans la mémoire interne de l'application ou le dossier assest ,

    bon c'est simple y'a plein d'exemples sur internet

  10. #10
    Futur Membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Juin 2012
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : Gabon

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2012
    Messages : 4
    Points : 6
    Points
    6
    Par défaut
    Je crois que ton fichier est créé en MODE_PRIVATE si tu veux que d'autres application puissent accéder tu dois changer le mode de création. En plus utilise les méthodes qui permettent d'accéder au répertoire où se trouve ton fichier.

Discussions similaires

  1. lire dans un fichier text
    Par khayate dans le forum VB.NET
    Réponses: 6
    Dernier message: 18/06/2007, 18h22
  2. Réponses: 11
    Dernier message: 25/01/2007, 18h20
  3. Réponses: 13
    Dernier message: 09/11/2006, 23h37
  4. [VB.NET]comment écrire/lire dans un fichier text
    Par zouhib dans le forum Windows Forms
    Réponses: 1
    Dernier message: 19/05/2006, 17h11
  5. Ecrire et lire dans un fichier texte
    Par podz dans le forum C
    Réponses: 3
    Dernier message: 25/10/2005, 16h57

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