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 :

Enregistrer un fichier sur external storage


Sujet :

Android

  1. #1
    Membre régulier
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Septembre 2011
    Messages
    142
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

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

    Informations forums :
    Inscription : Septembre 2011
    Messages : 142
    Points : 81
    Points
    81
    Par défaut Enregistrer un fichier sur external storage
    Bonjour,

    J'ai beau regarder la documentation Android ou exécuter le code ci-dessous : mon fichier reste caché malgré qu'il existe :

    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
    23
    24
     
    File file = new File(Environment.getExternalStorageDirectory(), "trames.txt");
     
    if(file.exists()) {
    	file.delete();
    }
     
    try {
    	file.createNewFile();
     
    	PrintWriter os =  new PrintWriter(file);
     
    	os.write("Hello");
     
    	os.flush();
    	os.close();
     
    } catch (FileNotFoundException e) {
    	// TODO Auto-generated catch block
    	e.printStackTrace();
    } catch (IOException e) {
    	// TODO Auto-generated catch block
    	e.printStackTrace();
    }
    Même en utilisant Environment.GetExternalPublicStorageDirectory(Environment.DIRECTORY_DOWNLOADS)...

  2. #2
    Expert éminent

    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Février 2007
    Messages
    4 253
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Février 2007
    Messages : 4 253
    Points : 7 618
    Points
    7 618
    Billets dans le blog
    3
    Par défaut
    malgré que.....

    file.createNewFile(); ne sert à rien... lire la documentation de la fonction pour s'en persuader.

    getExternalStoragePublicDirectory() est la fonction à utiliser, c'est certain, si on veut voir le fichier... Bien utiliser mkdirs sur le répertoire *avant* de créer le fichier (on ne sait jamais).

    Sinon, comment savez vous que le fichier existe ? Comment est-il lu ?

  3. #3
    Membre régulier
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Septembre 2011
    Messages
    142
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

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

    Informations forums :
    Inscription : Septembre 2011
    Messages : 142
    Points : 81
    Points
    81
    Par défaut
    Car si après je fais un file.exist() j'ai bien une réponse à true.

    Edit:

    J'ai trouvé en appellant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    sendBroadcast(new Intent(Intent.ACTION_MEDIA_MOUNTED, Uri.parse("file://" + Environment.getExternalStorageDirectory().getAbsolutePath())));
    Il m'affiche les fichiers après un certain temps dû au scan...

  4. #4
    Membre éprouvé
    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    757
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2011
    Messages : 757
    Points : 968
    Points
    968
    Par défaut
    Essaie d'affiche dans le LogCat où se situe le fichier.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Log.d(TAG,"Fichier situé à : " + file.getAbsolutePath());
    Par ailleurs, il est déconseillé d'utiliser la fonction getExternalStorageDirectory() pour stocker des fichiers relatifs à ton application.
    Il est préférable d'utiliser getExternalFilesDir().
    La première fonction correspond au dossier racine, alors que la seconde te donne un dossier spécifique à ton application. Explications ici

  5. #5
    Membre régulier
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Septembre 2011
    Messages
    142
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

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

    Informations forums :
    Inscription : Septembre 2011
    Messages : 142
    Points : 81
    Points
    81
    Par défaut
    C'est pour un test, j'ai besoin de récupérer le fichier pour l'envoyer...

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

Discussions similaires

  1. Réponses: 3
    Dernier message: 26/07/2007, 17h01
  2. Impossible d'enregistrer un fichier sur ma clé usb
    Par rimbaut dans le forum Périphériques
    Réponses: 7
    Dernier message: 01/05/2007, 19h07
  3. Réponses: 2
    Dernier message: 24/04/2007, 09h03
  4. enregistrer des fichiers sur CD rom
    Par philippe carel dans le forum VB 6 et antérieur
    Réponses: 5
    Dernier message: 15/04/2007, 19h20
  5. Réponses: 3
    Dernier message: 01/03/2007, 11h18

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