risposta-alla-domanda-sullo-sviluppo-web-bd.com

Ottieni la directory da un percorso file in Java (Android)

C'è una funzione per ottenere la parte di directory di un percorso di file?  

così da 

String a="/root/sdcard/Pictures/img0001.jpg";

ottieni 

"/root/sdcard/Pictures"
19
tru7

Sì. Innanzitutto, costruisci un File che rappresenta il percorso dell'immagine:

File file = new File(a);

Se stai iniziando da un percorso relativo:

file = new File(file.getAbsolutePath());

Quindi, ottieni il genitore :

String dir = file.getParent();

Oppure, se si desidera che la directory sia un oggetto File,

File dirAsFile = file.getParentFile();
42
Andrey Akhmetov

Un modo migliore, usa getParent() da File Class ..

String a="/root/sdcard/Pictures/img0001.jpg"; // A valid file path 
File file = new File(a); 
String getDirectoryPath = file.getParent(); // Only return path if physical file exist else return null

http://developer.Android.com/reference/Java/io/File.html#getParent%28%29

10
user370305

Puoi anche usare Nomefilole da Apache . Fornisce almeno le seguenti funzionalità per l'esempio C:\dev\project\file.txt:

  • il prefisso - C: \
  • il percorso - dev\project \
  • il percorso completo - C:\dev\project \
  • il nome - file.txt
  • il nome base - file
  • l'estensione - txt
3
winterDroid

Ho una soluzione su questo dopo 4 giorni, Si prega di notare i seguenti punti mentre si dà il percorso alla classe File in Android (Java):

  1. Usa percorso per la memoria interna String path = "/ storage/sdcard0/myfile.txt";
  2. path = "/ immagazzinaggio/sdcard1/miofile.txt";
  3. menziona le autorizzazioni nel file manifest.

    <uses-permission Android:name="Android.permission.WRITE_EXTERNAL_STORAGE" /> <uses-permission Android:name="Android.permission.READ_EXTERNAL_STORAGE" />

  4. Prima controlla la lunghezza del file per conferma.
  5. Controlla i percorsi in ES File Explorer per quanto riguarda sdcard0 e sdcard1 è lo stesso oppure ......

per esempio.

File file=new File(path);
long=file.length();//in Bytes
0
Mahadev Mane