2015-02-18 18 views

risposta

31

Sì. In primo luogo, la costruzione di un File che rappresenta il percorso dell'immagine:

File file = new File(a); 

Se stai partendo da un percorso relativo:

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

Poi, get the parent:

String dir = file.getParent(); 

Oppure, se si desidera la directory come oggetto File,

File dirAsFile = file.getParentFile(); 
+0

@ user370305 Grazie, corretto. – hexafraction

+3

Se stai usando un percorso relativo come 'File f = new File (" file.txt ");' ricorda che 'f.getParent()' restituirà 'null', non il genitore – yate

+0

Come estrarre il percorso fino "/ root/sdcard /" o "/ root/internal /" dal nome del file? – SimpleCoder

2

Si potrebbe anche usare FilenameUtils from Apache. Vi fornisce almeno le seguenti caratteristiche per l'esempio C: \ dev \ progetto \ file.txt:

  • il prefisso - C: \
  • il percorso - dev \ progetto \
  • il percorso completo - C: \ dev \ progetto \
  • il nome - file.txt
  • il nome di base - il file
  • l'estensione - txt
0

Io ho la soluzione su questo dopo 4 giorni, Si prega di notare i seguenti punti mentre dando percorso file di classe in Android (Java):

  1. Usa percorso per il percorso String storage interno = "/ stoccaggio/sdcard0/miofile.txt ";
  2. path = "/ storage/sdcard1/myfile.txt";
  3. menzionare le autorizzazioni nel file Manifest.

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

  4. LUNGHEZZA file di controllo per la conferma.
  5. Controlla i percorsi in ES File Explorer per quanto riguarda sdcard0 & sdcard1 è lo stesso, altrimenti ......

esempio

File file=new File(path); 
long=file.length();//in Bytes 
Problemi correlati