2012-03-13 1 views
0

J'ai essayé de créer un fichier pdf sur mon périphérique à partir d'un fichier sur mon disque local. Mais la méthode File.isFile() renvoie false. Elle renvoie true si je compile le programme sous la forme d'un simple fichier java. Est-ce que tht android ne serait pas localiser un fichier dans le local en lisant le chemin ou les opérations d'E/S dans Android sont totalement différents de Java i/o.Comment faire Android reconnaître le fichier dans le chemin mentionné. Aucune suggestion?File.isFile() renvoie la valeur false lors de la tentative de création d'un fichier dans android à partir du lecteur local

String path = "D:\\priya_Docs\\Android pdfs\\Professional_Android_Application_Development.pdf"; 
     File file = new File(path); 
     System.out.println("Located a file " + file.isFile()); 
     String filesArray = file.getPath(); 
     File getFile = file.getAbsoluteFile(); 
     FileInputStream fis = new FileInputStream(getFile); 
     FileOutputStream fos = (FileOutputStream) openFileOutput(
       "Androiddoc.pdf", Context.MODE_PRIVATE); 
     System.out.println("File Created"); 
     byte[] buff = new byte[1024]; 
     int len; 
     while ((len = fis.read(buff)) >= 0) { 
      fos.write(buff, 0, len); 
     } 

     fis.close(); 
     fos.close(); 
+0

Quels sont les chemins exacts que vous utilisez? 'isFile' n'est pas une méthode statique. À quoi pointe votre objet 'File' actuel? –

Répondre

2

Votre périphérique Android (émulateur ou téléphone) ne peut pas accéder au lecteur local.

Il ne peut accéder qu'à son propre système, et généralement vous ne pouvez accéder qu'à certains fichiers.

1

Vérifiez à l'aide .exists comme if(myFile.exists())

1

Vous ne montrez pas votre code, donc je dois deviner. Je suppose que vous faites File.isFile("/non/existant/path/file.pdf");. Dans ce cas, isFile() retournera faux, bien sûr.

Questions connexes