Bonjour communauté JAva,

Je ne parviens pas à avoir la date taken d'un fichier jpg jpeg, en java. J'ai bien trouvé un bout de code, mais celui-ci ne me renvoie pas la date taken.

Voici le bout de code.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
 
import org.w3c.dom.*;
 
import java.io.*;
import java.util.*;
import javax.imageio.*;
import javax.imageio.stream.*;
import javax.imageio.metadata.*;
 
public class Metadata {
 
	public static void main(String[] args) throws IOException {
        Metadata meta = new Metadata();
        meta.readAndDisplayMetadata("\\\\bsvr200012\\datausers$\\Aimard_B\\Mes Documents\\Téléchargements\\P1080927.JPG");
    }
 
    void readAndDisplayMetadata( String fileName ) throws IOException {
 
 
            File file = new File( fileName );
            ImageInputStream iis = ImageIO.createImageInputStream(file);
            Iterator<ImageReader> readers = ImageIO.getImageReaders(iis);
            ImageReader reader = readers.next();
 
                // attach source to the reader
                reader.setInput(iis, true);
                // read metadata of first image
                IIOMetadata metadata = reader.getImageMetadata(0);
 
                String[] names = metadata.getMetadataFormatNames();
                int length = names.length;
                for (int i = 0; i < length; i++) {
                  System.out.println( "Format name: " + names[ i ] );
                    displayMetadata(metadata.getAsTree(names[i]));
                }
 
    }
 
    void displayMetadata(Node root) {
        displayMetadata(root, 0);
    }
 
    void indent(int level) {
        for (int i = 0; i < level; i++)
            System.out.print("    ");
    }
 
    void displayMetadata(Node node, int level) {
        // print open tag of element
        indent(level);
        System.out.print("<" + node.getNodeName());
        NamedNodeMap map = node.getAttributes();
        if (map != null) {
 
            // print attribute values
            int length = map.getLength();
            for (int i = 0; i < length; i++) {
                Node attr = map.item(i);
                System.out.print(" " + attr.getNodeName() +
                                 "=\"" + attr.getNodeValue() + "\"");
            }
        }
 
        Node child = node.getFirstChild();
        if (child == null) {
            // no children, so close element and return
            System.out.println("/>");
            return;
        }
 
        // children, so close current tag
        System.out.println(">");
        while (child != null) {
            // print children recursively
            displayMetadata(child, level + 1);
            child = child.getNextSibling();
        }
 
        // print close tag of element
        indent(level);
        System.out.println("</" + node.getNodeName() + ">");
    }
Je voudrais bien un peu d'aide ... parce que je m'arrache les cheveux ...