ENOENT error Outputstream + chemin valide

Résolu
Debutant en webmastering Messages postés 401 Date d'inscription   Statut Membre Dernière intervention   -  
Debutant en webmastering Messages postés 401 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,
je suis amené à lire et écrire des données au sein d'un fichier .csv,
malgré les nombreux tutoriels que j'ai pu lire, je retrouve toujours la même réponse, à savoir :
OutputStream outputStream = new FileOutputStream(path);
j'ai un code erreur comme quoi le fichier n'est pas existant ; mais il s'avère qu'en faisant :
InputStream inputStream = this.getClass().getResourceAsStream(path);
ça fonctionne, donc l'erreur ne semblerait pas venir du chemin, j'avoue avoir du mal à comprendre


4 réponses

BunoCS Messages postés 15952 Date d'inscription   Statut Modérateur Dernière intervention   3 918
 
Hello,

Les fichiers que tu embarques en tant que ressources dans l'appli sont, par définition, statiques. Si tu veux les modifier, il faut que tu les copies d'abord dans l'espace de stockage de l'appli.
1
Debutant en webmastering Messages postés 401 Date d'inscription   Statut Membre Dernière intervention  
 
il doit y avoir quelque chose que je ne saisis pas dans la pratique,
un fichier dans le dossier raw vise à être fixe dans le but d'être chargé de la même façon chez tous les utilisateurs ou
peut-il être modifiable au sein même de l'application ?
(car comme BunoCS le dit, je dois effectuer une copie dans mon espace de stockage)
0
BunoCS Messages postés 15952 Date d'inscription   Statut Modérateur Dernière intervention   3 918
 
Un fichier stocké dans le répertoire raw de ton projet sera embarqué dans ton binaire. Ton binaire, une fois généré, est non modifiable. C'est valable pour toutes les ressources embarquées: styles, strings, colors, drawable, layouts, etc. Ce n'est pas une archive zip qui va se dézipper lors de l'install.
0
Debutant en webmastering Messages postés 401 Date d'inscription   Statut Membre Dernière intervention  
 
donc si je souhaite charger les données de mon fichier stocké dans le répertoire raw, m'en servir pour effectuer divers traitements à travers mon application et sauvegarder le résultat, je dois le faire au sein d'un nouveau fichier si je comprends bien (un fichier qui sera selon mon utilité, interne ou externe à mon application) ?
0
BunoCS Messages postés 15952 Date d'inscription   Statut Modérateur Dernière intervention   3 918
 
Oui, c'est ça.
0
Debutant en webmastering Messages postés 401 Date d'inscription   Statut Membre Dernière intervention  
 
merci beaucoup, je comprends mieux le fonctionnement des fichiers au sein d'android studio
0