Si vous êtes novice en Java, vous pouvez utiliser une bibliothèque existante pour vous faciliter la tâche. Jsoup vous permet de récupérer une page HTML et d'en extraire les éléments à l'aide de sélecteurs de style CSS.
Il s'agit simplement d'une très Je pense qu'il montre à quel point Jsoup peut rendre une telle tâche facile. Veuillez noter que la gestion des erreurs et des codes de réponse a été omise, je voulais simplement transmettre l'idée générale :
Document doc = Jsoup.connect("http://stackoverflow.com/questions/14541740/java-program-to-download-images-from-a-website-and-display-the-file-sizes").get();
Elements imgElements = doc.select("img[src]");
Map<String, String> fileSizeMap = new HashMap<String, String>();
for(Element imgElement : imgElements){
String imgUrlString = imgElement.attr("abs:src");
URL imgURL = new URL(imgUrlString);
HttpURLConnection httpConnection = (HttpURLConnection) imgURL.openConnection();
String contentLengthString = httpConnection.getHeaderField("Content-Length");
if(contentLengthString == null)
contentLengthString = "Unknown";
fileSizeMap.put(imgUrlString, contentLengthString);
}
for(Map.Entry<String, String> mapEntry : fileSizeMap.entrySet()){
String imgFileName = mapEntry.getKey();
System.out.println(imgFileName + " ---> " + mapEntry.getValue() + " bytes");
}
Vous pouvez également envisager de consulter Apache HttpClient . Je la trouve généralement préférable à l'approche URLConnection/HttpURLConnection brute.