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 :

Création de fichier


Sujet :

Android

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Janvier 2014
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2014
    Messages : 8
    Points : 4
    Points
    4
    Par défaut Création de fichier
    Bonjour, merci par avance pour votre aide.

    J'ai un petit soucis lors de l’écriture d'un fichier sur mon téléphone

    Voici mon code tout simple :

    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
    @Override
    protected void onCreate(Bundle savedInstanceState) {
       super.onCreate(savedInstanceState);
       setContentView(R.layout.activity_main);
     
       File file = new File(getCacheDir(), "test.txt");
       file.mkdirs();
       if (!file.exists()) {
          try {
             file.createNewFile();
          } catch (IOException e) {
             e.printStackTrace();
          }
       }
    }
    Or je ne trouve nul part ou mon fichier est créer... Je ne comprend pas
    Merci beaucoup

  2. #2
    Membre éclairé
    Avatar de LeBzul
    Homme Profil pro
    Inscrit en
    Décembre 2008
    Messages
    381
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations forums :
    Inscription : Décembre 2008
    Messages : 381
    Points : 832
    Points
    832
    Par défaut
    Salut,
    Tu souhaites faire quoi avec ton fichier txt ?
    Si c'est pour enregistrer des données pour les réutiliser plus tard dans ton appli alors il y a d'autre solution plus simple / conforme à l'os. (SharedPreferences)
    Sinon, depuis DDMS->File explorer, il me semble que tu peux y accéder dans le dossier data / tonApp.
    "Quand la lune n'est pas là, la nuit mène une existence obscure"

  3. #3
    Candidat au Club
    Profil pro
    Inscrit en
    Janvier 2014
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2014
    Messages : 8
    Points : 4
    Points
    4
    Par défaut
    Non ce n'est pas pour cela, c'est pour téléchargé des images en cache et les réutilisé plus tard. Je veux testé mon script sur téléphone et non sur l’émulateur avec le file explorer je ne voit pas sur mon téléphone :/

  4. #4
    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
    Il y a plusieurs choses:

    1. getCacheDir() renvoie un répertoire *privé à l'application* ou elle peut coller des fichiers de cache. Ce répertoire est supprimé lors de la désinstallation de l'application, et *peut* être vidé par le système.

    2. Il est normal de ne "pas voir" ce fichier, puisqu'il n'est ni indexé par le service multimédia du device, ni visible par l'utilisateur (sauf utilisation d'un explorateur en étant "root").

    3. Le code est bizarre.. en tout cas j'ai l'impression que l'utilisation de createNewFile() est incomprise... Le but de createNewFile() est de permettre un test "atomique" de fichier (vis à vis du système d'exploitation). Le fichier n'existait pas, il existera désormais quelques soit les autres processus tentant d'y accéder...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    if (file.createNewFile()) {
       // ici... "file" n'existait pas avant .... et *personne* n'a pu le créer
    }
    Le doubler avec un if (!file.exists()) est donc inutile.
    De plus on est dans getCacheDir(), où un seul processus est capable d'écrire (normalement): l'application elle-même.. donc à moins de faire du multi-threading (mais un simple "synchronized" suffira) createNewFile n'est pas nécessaire.


    Il y a aussi beaucoup de gens qui pensent que "createNewFile()" permet de créer un fichier... c'est faux...
    La création de fichier se fait par simple ouverture de stream:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    new FileOutputStream(file);
    N'oubliez pas de cliquer sur mais aussi sur si un commentaire vous a été utile !
    Et surtout

Discussions similaires

  1. création de fichiers dans le disque dur
    Par sex-sansbol dans le forum ASP
    Réponses: 6
    Dernier message: 24/08/2004, 10h39
  2. Création de fichiers CAB
    Par Polux63 dans le forum Windows
    Réponses: 5
    Dernier message: 22/08/2004, 11h50
  3. Création de fichier
    Par gsxr man dans le forum ASP
    Réponses: 2
    Dernier message: 28/06/2004, 23h19
  4. Réponses: 8
    Dernier message: 03/09/2003, 01h47
  5. création de fichiers .x
    Par Pazz dans le forum DirectX
    Réponses: 1
    Dernier message: 03/12/2002, 01h33

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