2016-10-27 1 views
0

Aujourd'hui, j'ai testé des "fichiers" au lieu d'un chemin normal.
Voici mon code:OutputStreamWriter contient un séparateur de chemin

File path=new File(getFilesDir(),"uf"); 
File test = new File(path.getAbsolutePath(),"test.txt"); 


if(!path.exists()){ 
    path.mkdir(); 
} 

if(!test.isFile()){ 
    try { 
     test.createNewFile(); 
    } catch (IOException e) { 
     //TODO in errorlog -> filecreation 
     e.printStackTrace(); 
    } 
}else{ 
    try { 
     OutputStreamWriter mywriter = new OutputStreamWriter(openFileOutput(test.getAbsolutePath().toString(),Context.M                ODE_PRIVATE)); 
     mywriter.close(); 
    } catch (FileNotFoundException e) { 
     e.printStackTrace(); 
    } catch (IOException e) { 
     e.printStackTrace(); 
    } 

} 

Dans le code d'erreur vient chaque fois: illegal Arguments: contains a path seperator!

Merci pour votre aide à l'avance

+0

Toujours fournir une exception complète. – Hrabosch

Répondre

0

Peut-être ajouter plus d'informations au sujet de votre erreur. Mais ...

Cette erreur est à propos de ce que vous essayez de chemin d'accès complet (vous incluez sous-répertoires) pour accéder à la zone de données privées. La solution est l'utilisation FileOutputStream, plus here. Et utiliser

new File(YOUR_FILE) 

pour créer votre fichier. Gardez à l'esprit que vous devez appeler la méthode mkDirs() pour créer tous les répertoires et sous-répertoires nécessaires. Plus d'informations sur mkDirs() here

Remarque: Il existe également la méthode mkDir(), here est doc. Celui-ci va créer un seul répertoire.