Hallo! Kann mir, bitte, helfen? Ich versuche mit dem untenstehenden Java-Code ein JPEG-Bild von einer Webseite 4mal herunterzuladen, wobei nach jedem Herunterladen soll geprüft werden, ob das zuletzt gespeicherte Bild mit dem URL-Bild immer noch identisch ist, der Vergleich muss anhand der Dateizeit erfolgen, ist das gespeicherte Bild mit dem URL-Bild identisch, so bekomme ich auch eine Nachricht darüber am Bildschirm und es wird so weiter verglichen, bis das gespeicherte Bild nicht mehr mit dem URL-Bild identisch ist, wo dann erneut heruntergeladen wird, und das Ganze geht von vorne bis 4mal heruntergeladen wurde.
Der Sinn der Sache - auf dem Server wird das Bild in unregelmäßig langen Zeitabständen erneuert und ich möchte nur einmal die aktuellen Bilder herunterladen. Der untenstehende Code speichert aber sofort 4mal nacheinander das gleiche Bild.
Der Sinn der Sache - auf dem Server wird das Bild in unregelmäßig langen Zeitabständen erneuert und ich möchte nur einmal die aktuellen Bilder herunterladen. Der untenstehende Code speichert aber sofort 4mal nacheinander das gleiche Bild.
Java:
for (int counter = 1; counter < 5; counter++)
{
try
{
URL url = new URL("http://www.newmexicoskies.com/images/AllSkyImage.jpg");
URLConnection uc = url.openConnection();
InputStream in = url.openStream();
OutputStream out = new BufferedOutputStream(new FileOutputStream(String.format("AllSkyImage%d.jpg", counter)));
for (int b; (b = in.read()) != -1; ) {out.write(b);}
out.close();
in.close();
System.out.println(String.format("Image AllSkyImage%d.jpg has been successfully downloaded.", counter));
File myFile = new File(String.format("AllSkyImage%d.jpg", counter));
File webFile = new File(url.getFile());
Long myFileLastModified = myFile.lastModified();
Long webFileLastModified = webFile.lastModified();
Date myFileDate = new Date(myFileLastModified);
Date webFileDate = new Date(webFileLastModified);
Long myFileTime = myFileDate.getTime();
Long webFileTime = webFileDate.getTime();
while (myFileTime == webFileTime){
System.out.println(String.format("Saved image AllSkyImage%d.jpg has the same date as the image on the website.", counter));
webFile = new File(url.getFile());
webFileLastModified = webFile.lastModified();
webFileDate = new Date(webFileLastModified);
webFileTime = webFileDate.getTime();
}
}
catch (IOException ioe) {System.out.println(ioe.getMessage());}
}
Zuletzt bearbeitet: