{"id":12962,"date":"2024-03-15T01:42:06","date_gmt":"2024-03-15T01:42:06","guid":{"rendered":"https:\/\/www.silicloud.com\/blog\/how-can-we-download-a-file-using-url-in-java\/"},"modified":"2025-08-05T09:20:46","modified_gmt":"2025-08-05T09:20:46","slug":"how-can-we-download-a-file-using-url-in-java","status":"publish","type":"post","link":"https:\/\/www.silicloud.com\/blog\/how-can-we-download-a-file-using-url-in-java\/","title":{"rendered":"Java Download File from URL Example"},"content":{"rendered":"<p>In Java, you can use the java.net.URL class to download files. Below is a simple example code:<\/p>\n<pre class=\"post-pre\"><code><span class=\"hljs-keyword\">import<\/span> java.io.BufferedInputStream;\r\n<span class=\"hljs-keyword\">import<\/span> java.io.FileOutputStream;\r\n<span class=\"hljs-keyword\">import<\/span> java.io.IOException;\r\n<span class=\"hljs-keyword\">import<\/span> java.net.URL;\r\n\r\n<span class=\"hljs-keyword\">public<\/span> <span class=\"hljs-keyword\">class<\/span> <span class=\"hljs-title class_\">FileDownloader<\/span> {\r\n    <span class=\"hljs-keyword\">public<\/span> <span class=\"hljs-keyword\">static<\/span> <span class=\"hljs-keyword\">void<\/span> <span class=\"hljs-title function_\">downloadFile<\/span><span class=\"hljs-params\">(String fileUrl, String savePath)<\/span> <span class=\"hljs-keyword\">throws<\/span> IOException {\r\n        <span class=\"hljs-type\">URL<\/span> <span class=\"hljs-variable\">url<\/span> <span class=\"hljs-operator\">=<\/span> <span class=\"hljs-keyword\">new<\/span> <span class=\"hljs-title class_\">URL<\/span>(fileUrl);\r\n        <span class=\"hljs-type\">BufferedInputStream<\/span> <span class=\"hljs-variable\">inputStream<\/span> <span class=\"hljs-operator\">=<\/span> <span class=\"hljs-keyword\">new<\/span> <span class=\"hljs-title class_\">BufferedInputStream<\/span>(url.openStream());\r\n        <span class=\"hljs-type\">FileOutputStream<\/span> <span class=\"hljs-variable\">outputStream<\/span> <span class=\"hljs-operator\">=<\/span> <span class=\"hljs-keyword\">new<\/span> <span class=\"hljs-title class_\">FileOutputStream<\/span>(savePath);\r\n\r\n        <span class=\"hljs-type\">byte<\/span>[] buffer = <span class=\"hljs-keyword\">new<\/span> <span class=\"hljs-title class_\">byte<\/span>[<span class=\"hljs-number\">1024<\/span>];\r\n        <span class=\"hljs-type\">int<\/span> bytesRead;\r\n        <span class=\"hljs-keyword\">while<\/span> ((bytesRead = inputStream.read(buffer, <span class=\"hljs-number\">0<\/span>, <span class=\"hljs-number\">1024<\/span>)) != -<span class=\"hljs-number\">1<\/span>) {\r\n            outputStream.write(buffer, <span class=\"hljs-number\">0<\/span>, bytesRead);\r\n        }\r\n\r\n        outputStream.close();\r\n        inputStream.close();\r\n    }\r\n\r\n    <span class=\"hljs-keyword\">public<\/span> <span class=\"hljs-keyword\">static<\/span> <span class=\"hljs-keyword\">void<\/span> <span class=\"hljs-title function_\">main<\/span><span class=\"hljs-params\">(String[] args)<\/span> {\r\n        <span class=\"hljs-type\">String<\/span> <span class=\"hljs-variable\">fileUrl<\/span> <span class=\"hljs-operator\">=<\/span> <span class=\"hljs-string\">\"https:\/\/example.com\/file.txt\"<\/span>;\r\n        <span class=\"hljs-type\">String<\/span> <span class=\"hljs-variable\">savePath<\/span> <span class=\"hljs-operator\">=<\/span> <span class=\"hljs-string\">\"\/path\/to\/save\/file.txt\"<\/span>;\r\n\r\n        <span class=\"hljs-keyword\">try<\/span> {\r\n            downloadFile(fileUrl, savePath);\r\n            System.out.println(<span class=\"hljs-string\">\"\u6587\u4ef6\u4e0b\u8f7d\u5b8c\u6210\"<\/span>);\r\n        } <span class=\"hljs-keyword\">catch<\/span> (IOException e) {\r\n            e.printStackTrace();\r\n        }\r\n    }\r\n}\r\n<\/code><\/pre>\n<p>In the example code above, the downloadFile method takes the URL of the file and the path to save it as parameters. It opens an input stream using the URL class and reads it using BufferedInputStream, then writes it to the specified file using FileOutputStream. Finally, it closes the input and output streams.<\/p>\n<p>In the main method, you can replace fileUrl and savePath with the URL of the file you want to download and the path where you want to save it.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>In Java, you can use the java.net.URL class to download files. Below is a simple example code: import java.io.BufferedInputStream; import java.io.FileOutputStream; import java.io.IOException; import java.net.URL; public class FileDownloader { public static void downloadFile(String fileUrl, String savePath) throws IOException { URL url = new URL(fileUrl); BufferedInputStream inputStream = new BufferedInputStream(url.openStream()); FileOutputStream outputStream = new FileOutputStream(savePath); byte[] [&hellip;]<\/p>\n","protected":false},"author":7,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_import_markdown_pro_load_document_selector":0,"_import_markdown_pro_submit_text_textarea":"","footnotes":""},"categories":[1],"tags":[2892,87,6594,3390,8963],"class_list":["post-12962","post","type-post","status-publish","format-standard","hentry","category-uncategorized","tag-file-download","tag-java","tag-java-io","tag-networking","tag-url"],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v21.5 (Yoast SEO v21.5) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Java Download File from URL Example - Blog - Silicon Cloud<\/title>\n<meta name=\"description\" content=\"Quick tutorial: Download files from URLs in Java using java.net.URL class with code example\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.silicloud.com\/blog\/how-can-we-download-a-file-using-url-in-java\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Java Download File from URL Example\" \/>\n<meta property=\"og:description\" content=\"Quick tutorial: Download files from URLs in Java using java.net.URL class with code example\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.silicloud.com\/blog\/how-can-we-download-a-file-using-url-in-java\/\" \/>\n<meta property=\"og:site_name\" content=\"Blog - Silicon Cloud\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/SiliCloudGlobal\/\" \/>\n<meta property=\"article:published_time\" content=\"2024-03-15T01:42:06+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-08-05T09:20:46+00:00\" \/>\n<meta name=\"author\" content=\"Sophia Anderson\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@SiliCloudGlobal\" \/>\n<meta name=\"twitter:site\" content=\"@SiliCloudGlobal\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Sophia Anderson\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"1 minute\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/how-can-we-download-a-file-using-url-in-java\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/how-can-we-download-a-file-using-url-in-java\/\"},\"author\":{\"name\":\"Sophia Anderson\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/19a24313de9c988db3d69226b4a40a30\"},\"headline\":\"Java Download File from URL Example\",\"datePublished\":\"2024-03-15T01:42:06+00:00\",\"dateModified\":\"2025-08-05T09:20:46+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/how-can-we-download-a-file-using-url-in-java\/\"},\"wordCount\":107,\"publisher\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/#organization\"},\"keywords\":[\"File Download\",\"Java\",\"Java IO\",\"networking\",\"URL\"],\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/how-can-we-download-a-file-using-url-in-java\/\",\"url\":\"https:\/\/www.silicloud.com\/blog\/how-can-we-download-a-file-using-url-in-java\/\",\"name\":\"Java Download File from URL Example - Blog - Silicon Cloud\",\"isPartOf\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/#website\"},\"datePublished\":\"2024-03-15T01:42:06+00:00\",\"dateModified\":\"2025-08-05T09:20:46+00:00\",\"description\":\"Quick tutorial: Download files from URLs in Java using java.net.URL class with code example\",\"breadcrumb\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/how-can-we-download-a-file-using-url-in-java\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.silicloud.com\/blog\/how-can-we-download-a-file-using-url-in-java\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/how-can-we-download-a-file-using-url-in-java\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.silicloud.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Java Download File from URL Example\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#website\",\"url\":\"https:\/\/www.silicloud.com\/blog\/\",\"name\":\"Silicon Cloud Blog\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/#organization\"},\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#organization\",\"name\":\"Silicon Cloud Blog\",\"url\":\"https:\/\/www.silicloud.com\/blog\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/www.silicloud.com\/blog\/wp-content\/uploads\/2023\/11\/EN-SILICON-Full.png\",\"contentUrl\":\"https:\/\/www.silicloud.com\/blog\/wp-content\/uploads\/2023\/11\/EN-SILICON-Full.png\",\"width\":1024,\"height\":1024,\"caption\":\"Silicon Cloud Blog\"},\"image\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/SiliCloudGlobal\/\",\"https:\/\/twitter.com\/SiliCloudGlobal\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/19a24313de9c988db3d69226b4a40a30\",\"name\":\"Sophia Anderson\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/c726c09aa40e37115fb5c62d0c3ed62c16ca255d3763e2e3ae83a70ddf8c2175?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/c726c09aa40e37115fb5c62d0c3ed62c16ca255d3763e2e3ae83a70ddf8c2175?s=96&d=mm&r=g\",\"caption\":\"Sophia Anderson\"},\"url\":\"https:\/\/www.silicloud.com\/blog\/author\/sophiaanderson\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Java Download File from URL Example - Blog - Silicon Cloud","description":"Quick tutorial: Download files from URLs in Java using java.net.URL class with code example","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.silicloud.com\/blog\/how-can-we-download-a-file-using-url-in-java\/","og_locale":"en_US","og_type":"article","og_title":"Java Download File from URL Example","og_description":"Quick tutorial: Download files from URLs in Java using java.net.URL class with code example","og_url":"https:\/\/www.silicloud.com\/blog\/how-can-we-download-a-file-using-url-in-java\/","og_site_name":"Blog - Silicon Cloud","article_publisher":"https:\/\/www.facebook.com\/SiliCloudGlobal\/","article_published_time":"2024-03-15T01:42:06+00:00","article_modified_time":"2025-08-05T09:20:46+00:00","author":"Sophia Anderson","twitter_card":"summary_large_image","twitter_creator":"@SiliCloudGlobal","twitter_site":"@SiliCloudGlobal","twitter_misc":{"Written by":"Sophia Anderson","Est. reading time":"1 minute"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.silicloud.com\/blog\/how-can-we-download-a-file-using-url-in-java\/#article","isPartOf":{"@id":"https:\/\/www.silicloud.com\/blog\/how-can-we-download-a-file-using-url-in-java\/"},"author":{"name":"Sophia Anderson","@id":"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/19a24313de9c988db3d69226b4a40a30"},"headline":"Java Download File from URL Example","datePublished":"2024-03-15T01:42:06+00:00","dateModified":"2025-08-05T09:20:46+00:00","mainEntityOfPage":{"@id":"https:\/\/www.silicloud.com\/blog\/how-can-we-download-a-file-using-url-in-java\/"},"wordCount":107,"publisher":{"@id":"https:\/\/www.silicloud.com\/blog\/#organization"},"keywords":["File Download","Java","Java IO","networking","URL"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/www.silicloud.com\/blog\/how-can-we-download-a-file-using-url-in-java\/","url":"https:\/\/www.silicloud.com\/blog\/how-can-we-download-a-file-using-url-in-java\/","name":"Java Download File from URL Example - Blog - Silicon Cloud","isPartOf":{"@id":"https:\/\/www.silicloud.com\/blog\/#website"},"datePublished":"2024-03-15T01:42:06+00:00","dateModified":"2025-08-05T09:20:46+00:00","description":"Quick tutorial: Download files from URLs in Java using java.net.URL class with code example","breadcrumb":{"@id":"https:\/\/www.silicloud.com\/blog\/how-can-we-download-a-file-using-url-in-java\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.silicloud.com\/blog\/how-can-we-download-a-file-using-url-in-java\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.silicloud.com\/blog\/how-can-we-download-a-file-using-url-in-java\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.silicloud.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Java Download File from URL Example"}]},{"@type":"WebSite","@id":"https:\/\/www.silicloud.com\/blog\/#website","url":"https:\/\/www.silicloud.com\/blog\/","name":"Silicon Cloud Blog","description":"","publisher":{"@id":"https:\/\/www.silicloud.com\/blog\/#organization"},"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.silicloud.com\/blog\/#organization","name":"Silicon Cloud Blog","url":"https:\/\/www.silicloud.com\/blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.silicloud.com\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/www.silicloud.com\/blog\/wp-content\/uploads\/2023\/11\/EN-SILICON-Full.png","contentUrl":"https:\/\/www.silicloud.com\/blog\/wp-content\/uploads\/2023\/11\/EN-SILICON-Full.png","width":1024,"height":1024,"caption":"Silicon Cloud Blog"},"image":{"@id":"https:\/\/www.silicloud.com\/blog\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/SiliCloudGlobal\/","https:\/\/twitter.com\/SiliCloudGlobal"]},{"@type":"Person","@id":"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/19a24313de9c988db3d69226b4a40a30","name":"Sophia Anderson","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/c726c09aa40e37115fb5c62d0c3ed62c16ca255d3763e2e3ae83a70ddf8c2175?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/c726c09aa40e37115fb5c62d0c3ed62c16ca255d3763e2e3ae83a70ddf8c2175?s=96&d=mm&r=g","caption":"Sophia Anderson"},"url":"https:\/\/www.silicloud.com\/blog\/author\/sophiaanderson\/"}]}},"_links":{"self":[{"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/posts\/12962","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/users\/7"}],"replies":[{"embeddable":true,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/comments?post=12962"}],"version-history":[{"count":2,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/posts\/12962\/revisions"}],"predecessor-version":[{"id":156809,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/posts\/12962\/revisions\/156809"}],"wp:attachment":[{"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/media?parent=12962"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/categories?post=12962"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/tags?post=12962"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}