2016-08-02 8 views
0

So habe ich etwas Code zum Herunterladen einer Datei, die gut funktioniert und ich habe es zum Download in das Anwendungsverzeichnis, das funktioniert. es ist in der Anwendung gespeichert Ordner/files/dltestAndroid-Anwendung Dateipfad

Mein Problem ist mit der Überprüfung programmatisch ob die Datei existiert, habe ich Methoden stackoverflow ausprobiert und aus irgendeinem Grund kann ich nur meine hart codierten Pfad zu arbeiten.

/sdcard/Android/Data/com.test.alihassan.download/files/dltest/REQS.pdf 

in Methoden gebaut mit dem Pfad zum Abrufen gibt mir den gleichen Weg, aber mit/data/data/com .... und das nicht

+0

Versuchen 'String path = c.getFilesDir() toString() + "/ files/dltest/REQS.pdf";' Sie verfehlten das '.../files/..' Teil. Funktioniert es jetzt? –

+0

Nein, Log zeigt an, dass /data/data/com.test.alihassan.download/files/files/dltest/REQS.pdf –

+0

Können Sie den genauen Dateipfad nach dem Download protokollieren? Wie log es gleich nach dem Download –

Antwort

1
File mydir = context.getFilesDir(); 
File fileWithinMyDir = new File(mydir, "myfile/path/fileNmae"); 
if(fileWithinMyDir.exists()){ 
    //exists 
    }else{ 
    //not exists 
} 

-Update funktioniert:

.
 //File mydir = this.getFilesDir(); 
     File mydir = this.getExternalFilesDir("/dltest/REQS.pdf"); 
     if (mydir.exists()) { 
      //exists 
     } else { 
      //not exists 
     } 
+0

Es sieht aus wie der richtige Pfad, aber funktioniert nicht –

+0

@AliHassan zeigen, wenn Sie den Code herunterladen, so dass wir unseren richtigen Weg figurieren können? –

+0

request.setDestinationInExternalFilesDir (getApplicationContext(), "/ dltest", "REQS.pdf"); DownloadManager Manager = (DownloadManager) getSystemService (Context.DOWNLOAD_SERVICE); manager.enqueue (request);} –