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 un fichier généré par une autre application


Sujet :

Android

  1. #1
    Candidat au Club
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Juillet 2016
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : France, Gard (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : Santé

    Informations forums :
    Inscription : Juillet 2016
    Messages : 2
    Points : 2
    Points
    2
    Par défaut Lire un fichier généré par une autre application
    Bonjour,

    Je suis nouveau sur ce forum et débutant sous Androïd. Apres avoir passé plusieurs jours à parcourir des forums, tutorials et autres ressources internet je n'arrive pas à résoudre mon problème :
    Je voudrais à travers mon application lire un fichier de données (texte/CSV) généré par une autre application pour effectuer des traitements dessus. J'ai testé un peu toutes les méthodes java classiques (inputStream,...) mais rien à faire ; il me semble que le fichier est inaccessible!! les méthodes canRead() et exist() me retourne systématique false!! alors qu'il est bien présent et que je peux l'ouvrir avec un éditeur de texte. J'ai donc déplacé le fichier dans le répertoire data de mon application et là j'arrive bien à le lire. Mais cela ne convient pas à l'application finale où l'utilisateur ne devra pas déplacer un fichier! pouvez vous m'aider?...merci...

    Vincent.

  2. #2
    Membre confirmé Avatar de smartties
    Homme Profil pro
    Dev
    Inscrit en
    Février 2010
    Messages
    222
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Dev

    Informations forums :
    Inscription : Février 2010
    Messages : 222
    Points : 496
    Points
    496
    Par défaut
    Ou est placé le fichier que tu veux lire ? As tu déclaré la permission pour lire/écrire sur le stockage externe ? https://developer.android.com/traini...age/files.html

    Ton application pourra lire/modifier la plus part des fichiers se trouvant sur le stockage externe ( /mnt/sdcard ). Si ton fichier se trouve sur le stockage interne (/data/*), il est important de savoir que les seuls fichiers auxquels tu aura accès devront se trouver dans le dossier /data/data/com.mon.application

  3. #3
    Candidat au Club
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Juillet 2016
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : France, Gard (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : Santé

    Informations forums :
    Inscription : Juillet 2016
    Messages : 2
    Points : 2
    Points
    2
    Par défaut
    Je désire juste accéder en lecture à ce fichier. J'ai placé dans le manifest de mon application le code xml :
    <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />.

    Si j'ai bien compris l'espace de stockage de mon application est : /data/data/mon.appli/files, j'arrive sans problème à lire les fichiers dans cet espace. Mais l'autre application stocke ce fichier ici : /storage/emulated/0/Android/data/com.lifescan.reveal/cache
    et impossible de le lire!!


    mon code qui ne fonctionne pas (il part en exception juste à l'appel du fileReader():

    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
    List<String> result = new ArrayList<String>();
     
    FileInputStream input = null;
    File f = Environment.getExternalStorageDirectory();
    File str = new File(f,"/Android/data/com.lifescan.reveal/cache/data2.csv"); //localisation exacte du fichier à utiliser
     
    try {
        FileReader fr = new FileReader(str);
        BufferedReader br = new BufferedReader(fr);
     
        for (String line = br.readLine(); line != null; line = br.readLine()) {
            result.add(line);
        }
    }
    catch(IOException e){
    }
    et la version avec le fichier déplacé en local qui fonctionne:

    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
    FileInputStream input = null;
    String filePath = context.getExternalFilesDir(null).getAbsolutePath();
    File str = new File(filePath,"/data2.csv");
     
     
    try {
        FileReader fr = new FileReader(str);
        BufferedReader br = new BufferedReader(fr);
     
        for (String line = br.readLine(); line != null; line = br.readLine()) {
            result.add(line);
        }
    }
    catch(IOException e){
    }
    Désolé je ne sais pas comment insérer de code correctement

Discussions similaires

  1. Réponses: 4
    Dernier message: 18/05/2015, 12h20
  2. Réponses: 7
    Dernier message: 07/07/2011, 23h04
  3. Réponses: 4
    Dernier message: 11/06/2008, 01h30
  4. "la webcam est utilisée par une autre application!" ah bon???
    Par cortex024 dans le forum Périphériques
    Réponses: 2
    Dernier message: 04/05/2006, 12h13
  5. Réponses: 7
    Dernier message: 23/03/2005, 22h23

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