2017-02-22 3 views
0

Во-первых, я получаю ArrayList, используя метод getFilePaths. метод {List out all images from SD card.}Как получить свойства файла jpg в Android Studio

Как продолжить?

В телефоне, когда вы видите подробности по изображению, вы можете увидеть:

Tittle, час, ширина, высота, ориентация FileSize, путь ...

Я хочу, чтобы получить все атрибуты/подробности/свойства файла jpg и сохранить их в переменных.

Я попытался сделать это: Properties Class Java, но я думаю, что это не правильный путь

+0

Может быть, это поможет вам http://stackoverflow.com/questions/12623302/get-met a-data-of-image-android Свойства Класс из Java используется для управления файлом .properties для организации конфигурации вашего приложения, а не для получения свойств файла. – JCoder

+1

«Во-первых, я получаю ArrayList, используя метод getFilePaths. метод {Список всех изображений с SD-карты.} "- этот код не имеет ничего общего с SD-картой и неэффективен." вы можете видеть: tittle, hour, width, height, orientation, fileSize, path "- те представляют собой фрагменты метаданных, которые [поступают из «MediaStore»] (https://developer.android.com/reference/android/provider/MediaStore.Images.ImageColumns.html). Если вы запрашиваете «MediaStore» для изображений, а не только вы получите эти данные, но он должен работать быстрее, чем ваш «сканировать всю внешнюю область хранения изображений». – CommonsWare

+0

ty commonsware, я собираюсь попробовать его. Однако мне нужно знать, как получить все изображения из каталога, (whatsapp images в моем случае) –

ответ

0

Вы можете получить свойства из файла, как показано ниже кода добавить свой файл в ниже код и получить свойства объекта

Properties prop = new Properties(); 
      // load a properties file 
      prop.load(input); 

private void retrievePropertiesFromFile(){ 
     String root = Environment.getExternalStorageDirectory().toString(); 
     File myDir = new File(root + "/CHETAN"); 
     String fname = "mytext.txt"; 
     File myFile = new File (myDir, fname); 

     InputStream input = null; 
     try { 
     input = new FileInputStream(myFile); 
     Properties prop = new Properties(); 
     // load a properties file 
     prop.load(input); 
     // get the property value and print it out 
     Log.i(getClass().getSimpleName(),prop.getProperty("text")); 
     Log.i(getClass().getSimpleName(),prop.getProperty("textstyle")); 
     Log.i(getClass().getSimpleName(),prop.getProperty("typeface")); 
     Log.i(getClass().getSimpleName(),prop.getProperty("typeface")); 
     } catch (Exception ex) { 
      ex.printStackTrace(); 
     } finally { 
      if (input != null) { 
       try { 
        input.close(); 
       } catch (IOException e) { 
        e.printStackTrace(); 
       } 
      } 
     } 

    } 
+0

what/why «Chetan» в переменной myDir? –

+0

вы можете передать свой файл напрямую, его код можно удалить. –

+0

вы можете передать свой файловый объект вместо myFile. –

0

Ok, Я с помощью этого простого кода и показать нуль в свойстве текста:

File imageJPG = new File("/storage/emulated/0/WhatsApp/Media/WhatsApp Images","6gMRtQyY.jpg"); 

     if(imageJPG.isFile()){ 
      System.out.println("its file"); 
      System.out.println("image: "+imageJPG); 
     }else{ 
      System.out.println("no"); 
     } 

     InputStream input = null; 
     try { 
      input = new FileInputStream(imageJPG); 
      Properties prop = new Properties(); 
      prop.load(input); 
      // get the property value and print it out 
      System.out.println("property text: "+prop.getProperty("text")); 
     } catch (Exception ex) { 
      ex.printStackTrace(); 
     } finally { 
      if (input != null) { 
       try { 
        input.close(); 
       } catch (IOException e) { 
        e.printStackTrace(); 
       } 
      } 
     } 

Console: 

I/System.out: its file 
I/System.out: image: /storage/emulated/0/WhatsApp/Media/WhatsApp Images/6gMRtQyY.jpg 
I/System.out: property text: null 
Смежные вопросы