J'ai un petit problème avec la création d'un répertoire et l'enregistrement d'un fichier dans mon application Android. J'utilise ce morceau de code pour faire ceci:
String filename = "MyApp/MediaTag/MediaTag-"+objectId+".png";
File file = new File(Environment.getExternalStorageDirectory(), filename);
FileOutputStream fos;
fos = new FileOutputStream(file);
fos.write(mediaTagBuffer);
fos.flush();
fos.close();
Mais cela lève une exception:
java.io.FileNotFoundException: /mnt/sdcard/MyApp/MediaCard/MediaCard-0.png (aucun fichier ou répertoire de ce type)
sur cette ligne: fos = new FileOutputStream(file);
Si je règle le nom de fichier sur: "MyApp/MediaTag-"+objectId+"
cela fonctionne, mais si j'essaie de créer et d'enregistrer le fichier dans un autre répertoire, cela lance l'exception. Alors des idées sur ce que je fais mal?
Et une autre question: existe-t-il un moyen de rendre mes fichiers privés dans le stockage externe afin que l'utilisateur ne puisse pas les voir dans la galerie, uniquement s'il connecte son appareil en tant que Disk Drive
?
Environment.getExternalStorageDirectory()
place de/sdcard
.