Ich möchte die Erweiterungen einiger Dateien von ihren Download-Links erhalten.Wie bekomme ich die Dateiendung von ihrem Download-Link von Java?
Download-Links enthalten nicht die Erweiterungen ihrer Dateien. Zum Beispiel sucht ein Link wie unten:
http://yourshot.nationalgeographic.com/u/fQYSUbVfts-T7odkrFJckdiFeHvab0GWOfzhj7tYdC0uglagsDNfNYI4FFesWV5zeSPtcfpyHzKZI7dHjkluwtIYNkXOGmjh43Ktdn0VeBWhQ-9l2kheOPt5N2TM3yPEW4tTrtFFqniatwxxhbqsc78IU2pBaqWwyEVLeQx64zSda2CNGmUpSxyte_tamVoIk3y4zXisQ-vjmMp6n1BAB3nbUVlwWg/
Ich habe versucht, die Dateien Erweiterung zu bekommen myHttpUrlConnection.getContentType()
verwenden, aber das Ergebnis war nicht das Ergebnis, was ich will.
Einige Download-Links geben einen Ausdruck wie “text/plain”
, ”application-octet-stream”
, , …
zurück. Aber ich will nur richtige und klare Art, wie rar
, mp4
, txt
, jpeg
, mkv
, zip
, png
, apk
, mp3
, …
.
Kann mir jeder helfen? Vielen Dank.
Ich entschuldige mich im Voraus, wenn die Grammatik meines Satzes nicht korrekt ist. weil ich nicht gut Englisch kann.
danke @syntagma. Kann ich ein paar Bytes (zB 5 Bytes) der Datei herunterladen und dann den Typ überprüfen? oder muss ich die ganze Datei herunterladen? – Hadi
In * einigen * Fällen konnten Sie den Dateityp basierend auf N ersten Bytes erkennen, siehe zum Beispiel Tika's 'MagicDetector': https://tika.apache.org/1.1/detection.html (* Durch die Suche nach speziellen (" magic ") Muster von Bytes in der Nähe des Anfanges der Datei, ist es oft möglich, den Typ der Datei zu erkennen. Für einige Dateitypen ist dies ein einfacher Prozess. Für andere, typischerweise containerbasierte Formate, mag die magische Erkennung nicht genug sein (Mehr Details zum Erkennen von Containerformaten unten) *) – syntagma
@Hadi, das hängt vom Dateityp ab, einige haben Header, um sie zu identifizieren (.class files und .png do), aber selbst mit diesen Headern könnten es tatsächlich nur andere Daten sein das hat zufällig dieses spezifische Bitmuster – phflack