`
随便小屋
  • 浏览: 102857 次
  • 性别: Icon_minigender_1
  • 来自: 大连
社区版块
存档分类
最新评论

Java 打开URL链接,并下载URL中的文件

 
阅读更多

Java 小程序,打开Url中的链接,并下载链接中所保存的文件。其中利用了common-io.jar中的FileUtils.copyURLToFile(url, file)方法,jar包在附件中。

 

 

import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.URL;
import java.util.ArrayList;
import java.util.List;

import org.apache.commons.io.FileUtils;

/**
 * 访问Url中的路径,并下载Url中所包含的文件
 * 类功能是先从test.txt中读出一个字符串,然后拼接到URl路径中,
 * 再将此路径中的文件保存
 * @author Logic
 * @email logicluo@foxmail.com
 */
public class AccessURLAndDownloadFile {

	public static void main(String[] args) {
		
		//输入文件的地址
		String fileDir = "D:/test/test.txt";
		
		List<String> fileNameList = readFileToList(fileDir);
		
		for (int i=0; i<fileNameList.size(); i++) {
			String fileName = fileNameList.get(i);
			
			//保存当地文件位置
			String localDir = "D:/test/";
			
			downloadFileFromURL("http://string-db.org/api/tsv/resolve?identifier=" + fileName + "&species=9606 ", localDir, fileName);
		}
	}
	
	/**
	 * 将文件中的内容入读到一个List中
	 * @param fileName
	 * @return
	 */
	public static List<String> readFileToList(String fileName) {
		List<String> fileNameList = new ArrayList<String>();
		FileInputStream fileInputStream = null;
		InputStreamReader inputStreamReader = null;
		BufferedReader bufferedReader = null;
		
		try {
			fileInputStream = new FileInputStream(fileName);
			inputStreamReader = new InputStreamReader(fileInputStream, "UTF-8");
			bufferedReader = new BufferedReader(inputStreamReader);
			String line = null;
			while((line = bufferedReader.readLine()) != null) {
				fileNameList.add(line.trim());
			}
		} catch (Exception e) {
			e.printStackTrace();
		}
		
		if(bufferedReader != null) {
			try {
				bufferedReader.close();
			} catch (IOException e) {
				e.printStackTrace();
			}
		}
		
		/**
		 * 关闭打开的各种流
		 */
		if(inputStreamReader != null) {
			try {
				inputStreamReader.close();
			} catch (IOException e) {
				e.printStackTrace();
			}
		}
		
		if(fileInputStream != null) {
			try {
				fileInputStream.close();
			} catch (IOException e) {
				e.printStackTrace();
			}
		}
		return fileNameList;
	}
	
	/**
	 * 从URL下载文件
	 * @param url 下载文件的路径
	 * @param file 下载文件的名称
	 * @param dirLocation 保存下载文件的位置
	 * @return
	 */
	public static String downloadFileFromURL(String url, String dirLocation, String fileName) {
		try {
			URL httpUrl = new URL(url);
			File file = new File(dirLocation + fileName);
			file.createNewFile();
			FileUtils.copyURLToFile(httpUrl, file);
			System.out.println("下载文件 " + fileName + "成功!");
		} catch (Exception e) {
			e.printStackTrace();
			System.out.println("下载文件 " + fileName + "失败!");
		}
		return null;
	}

}

 

0
1
分享到:
评论

相关推荐

    【JavaScript源代码】Vue通过阿里云oss的url连接直接下载文件并修改文件名的方法.docx

    Vue通过阿里云oss的url连接直接下载文件并修改文件名的方法  我测试过很多遍,想要通过a标签的形式来直接点击url下载文件并重命名但是都失败了,最终只能下载却不能重命名 所以 换了java后台来修改名字.以下代码 我...

    java通过url在线预览Word、excel、ppt、pdf、txt文档

    java通过url在线预览Word、excel、ppt、pdf、txt文档

    根据url获取网络图片通过浏览器下载的java解决方案

    解决chrome浏览器中点击链接,如果是浏览器可识别的文件类型,浏览器会自动打开而不是弹出下载框的方案

    JAVA上百实例源码以及开源项目

     Java实现HTTP连接与浏览,Java源码下载,输入html文件地址或网址,显示页面和HTML源文件,一步步的实现过程请下载本实例的Java源码,代码中包括丰富的注释,对学习有帮助。 Java实现的FTP连接与数据浏览程序 1个...

    使用urlconnection下载文件或图片并保存到本地

    * 使用URLConnection下载文件或图片并保存到本地。 * * @author 老紫竹(laozizhu.com) */ public class URLConnectionDownloader { public static void main(String[] args) throws Exception { ...

    解决Java URL.openConnection().connect();报错:Server returned HTTP re

    3、背景:尝试通过java.net.URL类的openConnection()方法打开一个网络连接,并进一步调用connect()方法来实际建立链接时报错的。 4、应该能让服务器识别客户端来源、认证信息、接受类型、内容类型等。 解决: ...

    JAVA上百实例源码以及开源项目源代码

     Java实现HTTP连接与浏览,Java源码下载,输入html文件地址或网址,显示页面和HTML源文件,一步步的实现过程请下载本实例的Java源码,代码中包括丰富的注释,对学习有帮助。 Java实现的FTP连接与数据浏览程序 1个...

    java开源包10

    BlueLeech是一个开源程序,它从指定的URL开始,搜索所有可用的链接,以及链接之上的链接。它在搜索的同时可以下载遇到的链接所指向的所有的或预定义的范围的内容。 WebSocket协议的Java实现 WebSocket4J WebSocket4...

    onlyoffice展示在线文档

    使用Java程序编写,传入在线文档的url,调用onlyoffice展示在线文档。压缩包中只包含代码,不包含onlyoffice的部署步骤。建议onlyoffice使用Docker部署。

    java开源包11

    BlueLeech是一个开源程序,它从指定的URL开始,搜索所有可用的链接,以及链接之上的链接。它在搜索的同时可以下载遇到的链接所指向的所有的或预定义的范围的内容。 WebSocket协议的Java实现 WebSocket4J WebSocket4...

    java开源包6

    BlueLeech是一个开源程序,它从指定的URL开始,搜索所有可用的链接,以及链接之上的链接。它在搜索的同时可以下载遇到的链接所指向的所有的或预定义的范围的内容。 WebSocket协议的Java实现 WebSocket4J WebSocket4...

    java开源包9

    BlueLeech是一个开源程序,它从指定的URL开始,搜索所有可用的链接,以及链接之上的链接。它在搜索的同时可以下载遇到的链接所指向的所有的或预定义的范围的内容。 WebSocket协议的Java实现 WebSocket4J WebSocket4...

    java开源包4

    BlueLeech是一个开源程序,它从指定的URL开始,搜索所有可用的链接,以及链接之上的链接。它在搜索的同时可以下载遇到的链接所指向的所有的或预定义的范围的内容。 WebSocket协议的Java实现 WebSocket4J WebSocket4...

    java开源包101

    BlueLeech是一个开源程序,它从指定的URL开始,搜索所有可用的链接,以及链接之上的链接。它在搜索的同时可以下载遇到的链接所指向的所有的或预定义的范围的内容。 WebSocket协议的Java实现 WebSocket4J WebSocket4...

    java开源包5

    BlueLeech是一个开源程序,它从指定的URL开始,搜索所有可用的链接,以及链接之上的链接。它在搜索的同时可以下载遇到的链接所指向的所有的或预定义的范围的内容。 WebSocket协议的Java实现 WebSocket4J WebSocket4...

    java开源包8

    BlueLeech是一个开源程序,它从指定的URL开始,搜索所有可用的链接,以及链接之上的链接。它在搜索的同时可以下载遇到的链接所指向的所有的或预定义的范围的内容。 WebSocket协议的Java实现 WebSocket4J WebSocket4...

    java开源包3

    BlueLeech是一个开源程序,它从指定的URL开始,搜索所有可用的链接,以及链接之上的链接。它在搜索的同时可以下载遇到的链接所指向的所有的或预定义的范围的内容。 WebSocket协议的Java实现 WebSocket4J WebSocket4...

    java开源包1

    BlueLeech是一个开源程序,它从指定的URL开始,搜索所有可用的链接,以及链接之上的链接。它在搜索的同时可以下载遇到的链接所指向的所有的或预定义的范围的内容。 WebSocket协议的Java实现 WebSocket4J WebSocket4...

    Java资源包01

    BlueLeech是一个开源程序,它从指定的URL开始,搜索所有可用的链接,以及链接之上的链接。它在搜索的同时可以下载遇到的链接所指向的所有的或预定义的范围的内容。 WebSocket协议的Java实现 WebSocket4J WebSocket4...

Global site tag (gtag.js) - Google Analytics