-
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathMain.java
More file actions
43 lines (29 loc) · 1.32 KB
/
Main.java
File metadata and controls
43 lines (29 loc) · 1.32 KB
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
import de.stefan_oltmann.kim.Kim;
import de.stefan_oltmann.kim.format.ImageMetadata;
import de.stefan_oltmann.kim.input.ByteReader;
import de.stefan_oltmann.kim.input.JvmInputStreamByteReader;
import de.stefan_oltmann.kim.jvm.KimJvm;
import de.stefan_oltmann.kim.model.MetadataUpdate;
import de.stefan_oltmann.kim.output.ByteArrayByteWriter;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
public class Main {
public static void main(String[] args) throws IOException {
File testFile = new File("testphoto.jpg");
ImageMetadata imageMetadata = KimJvm.readMetadata(testFile);
System.out.println(imageMetadata);
try (FileInputStream inputStream = new FileInputStream(testFile)) {
ByteReader byteReader =
new JvmInputStreamByteReader(inputStream, testFile.length());
ByteArrayByteWriter byteWriter = new ByteArrayByteWriter();
MetadataUpdate update = new MetadataUpdate.TakenDate(System.currentTimeMillis());
Kim.update(byteReader, byteWriter, update);
byte[] updatedBytes = byteWriter.toByteArray();
try (FileOutputStream fos = new FileOutputStream("testphoto_mod.jpg")) {
fos.write(updatedBytes);
}
}
}
}