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; } }
?
原文:http://logicluo.iteye.com/blog/2280877