Chciałbym wyodrębnić datę utworzenia pliku jpg. Java ma metodę LastModified dla obiektu File, ale wydaje się nie obsługiwać wyodrębniania utworzonej daty z pliku. Wierzę, że informacje są przechowywane w pliku, ponieważ data, którą widzę po najechaniu wskaźnikiem myszki na plik w Win XP jest inna niż to, co mogę uzyskać za pomocą JNI z "dir/TC" na pliku w DOS.Jak uzyskać obraz daty utworzony w java
Odpowiedz
Data jest przechowywana w danych EXIF w jpeg. Dostępne są: java library i viewer in java, które mogą być pomocne.
Prawdopodobnie potrzebujesz czegoś, aby uzyskać dostęp do danych exif. Google sugeruje this library.
używam tej biblioteki Metadane: http://www.drewnoakes.com/code/exif/
wydaje się całkiem dobrze, choć należy pamiętać, że nie wszystkie obrazy JPEG mają te informacje, więc nie może być w 100% idiotoodporny.
Jeśli metadane EXIF nie zawierają utworzonej daty, prawdopodobnie będziesz musiał zrobić to z lastUpdated Java - chyba że chcesz uciekać się do Runtime.exec (...) i korzystając z funkcji systemu, aby dowiedzieć się (Nie polecam tego!)
Tak, pracował dla niektórych moje obrazy i nie działały dla danych obrazu przechowywanych w naszej bazie danych. –
Przykładowy kod poniżej prosi użytkownika o podanie ścieżki do pliku, a następnie wyświetla datę utworzenia i czas:
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class Main {
public static void main(final String[] args) {
try {
// get runtime environment and execute child process
Runtime systemShell = Runtime.getRuntime();
BufferedReader br1=new BufferedReader(new InputStreamReader(System.in));
System.out.println("Enter filename: ");
String fname=(String)br1.readLine();
Process output = systemShell.exec("cmd /c dir /a "+fname);
// open reader to get output from process
BufferedReader br = new BufferedReader (new InputStreamReader(output.getInputStream()));
String out="";
String line = null;
int step=1;
while((line = br.readLine()) != null)
{
if(step==6)
{
out=line;
}
step++;
} // display process output
try{
out=out.replaceAll(" ","");
System.out.println("CreationDate: "+out.substring(0,10));
System.out.println("CreationTime: "+out.substring(10,15));
}
catch(StringIndexOutOfBoundsException se)
{
System.out.println("File not found");
}
}
catch (IOException ioe){ System.err.println(ioe); }
catch (Throwable t) { t.printStackTrace();}
}
}
Dzięki za fragment kodu, ale muszę uzyskać datę z metadanych obrazu , nie z systemu plików. – user16029
To będzie działać tylko dla systemu Windows – ScrappyDev
- 1. Jak uzyskać ostatnio utworzony dokument w couchdb?
- 2. Jak uzyskać najnowszą z zestawu zmiennych daty w java
- 3. Jak otworzyć nowo utworzony obraz w nowej karcie?
- 4. kolba powrót obraz utworzony z bazy
- 5. jak uzyskać obraz geograficzny
- 6. Java - Jak uzyskać aktualną datę niezależną od daty systemowej?
- 7. Java 8 LocalDate - Jak uzyskać wszystkie daty między dwiema datami?
- 8. Jak wyświetlić ostatnio utworzony plik?
- 9. Jak sformatować ciąg daty w języku Java?
- 10. Jak uzyskać wartość datepicker w formacie daty?
- 11. Java - Pobierz obraz JPanel
- 12. jak uzyskać obraz z xml?
- 13. Array od daty Java
- 14. Jak uzyskać kolorowy obraz w iPhone SDK
- 15. Format daty JAVA
- 16. Zapytanie Java/MongoDB według daty
- 17. Android - jak wyrejestrować odbiornik utworzony w manifeście?
- 18. Jak poprawnie uzyskać obraz z folderu "Zasoby" w NetBeans
- 19. Jak zmienić utworzony format
- 20. Java - Window Obraz
- 21. Jak uzyskać tylko część daty getdate()?
- 22. Jak uzyskać określony format ciągu znaków (wzór) w java?
- 23. Jak mogę uzyskać daty na następny tydzień?
- 24. Jak uzyskać nazwę dnia od wybranej daty?
- 25. Format daty Java dla lokalizacji
- 26. Konwersja java System.currentTimeMillis() do daty w pythonie
- 27. Jak uzyskać wszystkie daty w danym miesiącu w języku C#
- 28. Jak uzyskać obraz wykonawcy z MPMediaItem?
- 29. Jak uzyskać obraz przy użyciu ajax jquery?
- 30. Jak uzyskać obraz dynamiczny jako tło CSS?
Świetnie! Dzięki za wszystkie pomocne komentarze! Wierzę, że skorzystam z biblioteki w portalu drewnoakes.com. – user16029
Wymienny format pliku obrazu (oficjalnie Exif, ** nie EXIF ** zgodnie ze specyfikacją JEIDA/JEITA/CIPA) to standard, który ... –