/** * Indicates whether any errors were reported during the reading of metadata values. * This value will be true if Directory.hasErrors() is true for one of the contained {@link Directory} objects. * * @return whether one of the contained directories has an error */ public boolean hasErrors() { for (Directory directory : getDirectories()) { if (directory.hasErrors()) return true; } return false; }
private Map<String, String> getTags(Integer max, Metadata metadata) { Map<String, String> results = new HashMap<>(); int i =0; for (Directory directory : metadata.getDirectories()) { for (Tag tag : directory.getTags()) { results.put(directory.getName() + "." + tag.getTagName(), tag.getDescription()); if(max!=null) { i++; if (i >= max) { return results; } } } } return results; } }
private static void writeHierarchyLevel(@NotNull Metadata metadata, @NotNull PrintWriter writer, @Nullable Directory parent, int level) { final int indent = 4; for (Directory child : metadata.getDirectories()) { if (parent == null) { if (child.getParent() != null) continue; } else if (!parent.equals(child.getParent())) { continue; } for (int i = 0; i < level*indent; i++) { writer.write(' '); } writer.write("- "); writer.write(child.getName()); writer.write(NEW_LINE); writeHierarchyLevel(metadata, writer, child, level + 1); } }
for (Directory directory : metadata.getDirectories()) { if (!directory.hasErrors()) continue; for (Directory directory : metadata.getDirectories()) { for (Tag tag : directory.getTags()) { String tagName = tag.getTagName();
for (Directory directory : metadata.getDirectories()) { String directoryName = directory.getName(); for (Tag tag : directory.getTags()) {
try { // Extract metadata. Metadata metadata = ImageMetadataReader.readMetadata(new BufferedInputStream(new ByteArrayInputStream(imageData)), imageData.length); // Log each directory. for(Directory directory : metadata.getDirectories()) { Log.d("LOG", "Directory: " + directory.getName()); // Log all errors. for(String error : directory.getErrors()) { Log.d("LOG", "> error: " + error); } // Log all tags. for(Tag tag : directory.getTags()) { Log.d("LOG", "> tag: " + tag.getTagName() + " = " + tag.getDescription()); } } } catch(Exception e) { // TODO: handle exception }
public void onExtractionSuccess(@NotNull File file, @NotNull Metadata metadata, @NotNull String relativePath, @NotNull PrintStream log) { if (metadata.hasErrors()) { log.print(file); log.print('\n'); for (Directory directory : metadata.getDirectories()) { if (!directory.hasErrors()) continue; for (String error : directory.getErrors()) { log.printf("\t[%s] %s\n", directory.getName(), error); _errorCount++; } } } }
@Override public void onExtractionSuccess(@NotNull File file, @NotNull Metadata metadata, @NotNull String relativePath, @NotNull PrintStream log) { super.onExtractionSuccess(file, metadata, relativePath, log); for (Directory directory : metadata.getDirectories()) { for (Tag tag : directory.getTags()) { // Only interested in unknown tags (those without names) if (tag.hasTagName()) continue; HashMap<Integer, Integer> occurrenceCountByTag = _occurrenceCountByTagByDirectory.get(directory.getName()); if (occurrenceCountByTag == null) { occurrenceCountByTag = new HashMap<Integer, Integer>(); _occurrenceCountByTagByDirectory.put(directory.getName(), occurrenceCountByTag); } Integer count = occurrenceCountByTag.get(tag.getTagType()); if (count == null) { count = 0; occurrenceCountByTag.put(tag.getTagType(), 0); } occurrenceCountByTag.put(tag.getTagType(), count + 1); } } }
: "Yes"; for (Directory directory : metadata.getDirectories()) { if (directory.getClass().getName().contains("Makernote")) { makernote = directory.getName().replace("Makernote", "").trim();
for (Directory directory : metadata.getDirectories()) { if (!directory.hasErrors()) continue; for (Directory directory : metadata.getDirectories()) { String directoryName = directory.getName();
@Override public void onExtractionSuccess(@NotNull File file, @NotNull Metadata metadata, @NotNull String relativePath, @NotNull PrintStream log) { super.onExtractionSuccess(file, metadata, relativePath, log); // Iterate through all values, calling toString to flush out any formatting exceptions for (Directory directory : metadata.getDirectories()) { directory.getName(); for (Tag tag : directory.getTags()) { tag.getTagName(); tag.getDescription(); } } } }
/** * Copies extracted tags to tika metadata using registered handlers. * * @param metadataExtractor Tag directories from a Metadata Extractor "reader" * @throws MetadataException This method does not handle exceptions from Metadata Extractor */ protected void handle(com.drew.metadata.Metadata metadataExtractor) throws MetadataException { handle(metadataExtractor.getDirectories().iterator()); }
try { Metadata jpegDirectory = JpegMetadataReader.readMetadata(jpegmem); for (Directory directory : jpegDirectory.getDirectories()) { directory.setParent(_currentDirectory); _metadata.addDirectory(directory);
try { InputStream is = new URL("your image url").openStream(); BufferedInputStream bis = new BufferedInputStream(is); Metadata metadata = ImageMetadataReader.readMetadata(bis,true); for (Directory directory : metadata.getDirectories()) { for (Tag tag : directory.getTags()) { System.out.println(tag); } } } catch (ImageProcessingException e){} catch (IOException e) {}
try { InputStream is = new URL("your image url").openStream(); BufferedInputStream bis = new BufferedInputStream(is); Metadata metadata = ImageMetadataReader.readMetadata(bis,true); for (Directory directory : metadata.getDirectories()) { for (Tag tag : directory.getTags()) { System.out.println(tag); } } }catch (ImageProcessingException e){} catch (IOException e) {}
/** * Copies extracted tags to tika metadata using registered handlers. * * @param metadataExtractor Tag directories from a Metadata Extractor "reader" * @throws MetadataException This method does not handle exceptions from Metadata Extractor */ protected void handle(com.drew.metadata.Metadata metadataExtractor) throws MetadataException { handle(metadataExtractor.getDirectories().iterator()); }
/** * Copies extracted tags to tika metadata using registered handlers. * * @param metadataExtractor Tag directories from a Metadata Extractor "reader" * @throws MetadataException This method does not handle exceptions from Metadata Extractor */ protected void handle(com.drew.metadata.Metadata metadataExtractor) throws MetadataException { handle(metadataExtractor.getDirectories().iterator()); }
try { InputStream is = new URL("your image url").openStream(); BufferedInputStream bis = new BufferedInputStream(is); Metadata metadata = ImageMetadataReader.readMetadata(bis,true); for (Directory directory : metadata.getDirectories()) { for (Tag tag : directory.getTags()) { System.out.println(tag); } } } catch (ImageProcessingException e){} catch (IOException e) {}
public MetaDataTreeTableModel(Metadata metadata) { super(new Object()); for (Directory directory : metadata.getDirectories()) { dirNodes.add(new DirNode(directory)); } }
File pic = new File("C:/myPicture.jpg"); Metadata metadata = ImageMetadataReader.readMetadata(pic); for (Directory directory : metadata.getDirectories()) { for (Tag tag : directory.getTags()) { System.out.println(tag + " - " +tag.getTagType()); } }