`
坏我一锅粥
  • 浏览: 61199 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

19、java根据URL下载文件内容

    博客分类:
  • IO
 
阅读更多
package com.tij.io.file;

import java.io.BufferedInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.net.MalformedURLException;
import java.net.URL;
import java.nio.channels.Channels;
import java.nio.channels.ReadableByteChannel;

/**
 * 从URL下载文件,简单实例
 * @author GYJ
 * @date 2014-3-22
 */
public class DownloadFileFromURL {

	/**
	 * 其实简单的流程就是打开URL的流数据,保存到我们本地文件
	 * @param args
	 * @throws IOException 
	 */
	public static void main(String[] args) throws IOException {
		//下载的地址
		String url = "http://www.baidu.com/";
		downloadUsingStream(url, "/Users/GYJ/java1.txt");
		downloadUsingNIO(url, "/Users/GYJ/java1.txt");
	}
	
	/**
	 * 使用普通流的方式
	 * @param url	要下载的URL
	 * @param fileName	保存内容的文件
	 * @throws IOException 
	 */
	private static void downloadUsingStream(String urlS, String fileName) throws IOException {
		URL url  = new URL(urlS);
		BufferedInputStream bis = new BufferedInputStream(url.openStream());
		FileOutputStream fos = new FileOutputStream(fileName);
		byte[] buffer = new byte[1024];
		int count = 0;
		while ((count = bis.read(buffer, 0, 1024)) != -1) {
			fos.write(buffer, 0, count);
		}
		fos.close();
		bis.close();
	}
	
	/**
	 * 使用NIO的方式
	 * @param urlS	要下载的URL
	 * @param fileName   保存内容的文件
	 * @throws IOException 
	 */
	private static void downloadUsingNIO(String urlS, String fileName) throws IOException {
		URL url = new URL(urlS);
		ReadableByteChannel rbc = Channels.newChannel(url.openStream());
		FileOutputStream fos = new FileOutputStream(fileName);
		fos.getChannel().transferFrom(rbc, 0, Long.MAX_VALUE);
	}

}



//====================下载结果===================
<!DOCTYPE html><!--STATUS OK--><html><head><meta http-equiv="content-type" content="text/html;charset=utf-8"><meta http-equiv="X-UA-Compatible" content="IE=Edge"><link rel="dns-prefetch" href="//s1.bdstatic.com"/><link rel="dns-prefetch" href="//t1.baidu.com"/><link rel="dns-prefetch" href="//t2.baidu.com"/><link rel="dns-prefetch" href="//t3.baidu.com"/><link rel="dns-prefetch" href="//t10.baidu.com"/><link rel="dns-prefetch" href="//t11.baidu.com"/><link rel="dns-prefetch" href="//t12.baidu.com"/><title>百度一下,你就知道</title><style index="index" >html,body{height:100%}html{overflow-y:auto}#wrapper{position:relative;_position:;min-height:100%}#content{padding-bottom:100px;text-align:center}#ftCon{height:100px;position:absolute;bottom:44px;text-align:center;width:100%;margin:0 auto;z-index:0;overflow:hidden}#ftConw{width:720px;margin:0 auto}body{font:12px arial;text-align:;background:#fff}body,p,form,ul,li{margin:0;padding:0;list-style:none}body,form,#fm{position:relative}td..........省略
分享到:
评论

相关推荐

    mysql-connector-java-8.0.19.jar

    MySQL Connector/J 8.0.19 是MySQL数据库与Java应用程序之间的重要桥梁,它是一个用于连接Java应用程序到MySQL服务器的JDBC驱动程序。这个jar文件是MySQL官方提供的,确保了与MySQL数据库的高效、稳定通信。以下是...

    Java操作FastDFS文件上传

    // 文件ID由两部分组成:group名和文件名,例如:group1/M00/00/00/wKgH4Fp1DQmAcw19AAACZ53Wq3c474.jpg String[] fileIds = fileId.split("\\."); String groupName = fileIds[0]; String fileName = fileIds[1...

    Java读取xml文件中oracle数据库连接

    在Java编程中,读取XML文件并从中获取Oracle数据库连接是一项常见的任务,特别是在需要动态配置数据库连接信息的应用中。XML文件通常被用作配置文件,因为它具有良好的结构和可读性,适合存储像数据库连接这样的配置...

    mysql-connector-java-8.0.19.zip驱动下载window和liux

    1. 解压下载的`mysql-connector-java-8.0.19.zip`文件,通常包含一个名为`mysql-connector-java-8.0.19.jar`的JDBC驱动文件。 2. 将`.jar`文件添加到Java的类路径(ClassPath)中。在Windows中,可以在环境变量`...

    mysql-connector-java-8.0.19.zip

    "mysql-connector-java-8.0.19.zip"是这个驱动程序的压缩包,版本号为8.0.19,它包含了运行Java应用程序连接到MySQL服务器所需的全部文件。 在Java编程中,JDBC是Oracle公司定义的一套用于访问数据库的标准接口,它...

    Java软件开发实战 Java基础与案例开发详解 19-4 URL和URL Connection类 共10页.pdf

    根据提供的文件信息,本文将重点解析“Java软件开发实战”中的第19章关于URL和URLConnection类的内容。这部分内容深入探讨了如何利用这两个类来进行网络通信,并提供了实用的示例来帮助理解这些概念。 ### 19.4 URL...

    oracle19c驱动jar包.zip

    总的来说,Oracle 19c驱动jar包为Java开发者提供了一种便捷的方式来连接和操作Oracle 19c数据库,根据你的Java环境选择合适的jar文件,并正确配置到你的项目中,就可以开始编写与Oracle数据库交互的应用了。...

    mysql-connector-java-8.0.19_Java8_MYSQL_源码

    这个压缩包包含的“mysql-connector-java-8.0.19.jar”是这个驱动的实现文件,使得Java开发者能够在Java 8环境中无缝地操作MySQL数据库。 在Java 8中,引入了若干新特性,如lambda表达式、Stream API和Date/Time ...

    ojdbc19.zip

    在本案例中,"ojdbc19.zip" 是一个包含必要的JDBC驱动文件的压缩包,特别设计用于支持Oracle数据库版本19c。Maven是一个流行的Java项目管理和集成工具,它通过管理项目的依赖关系来简化构建过程。"maven-metadata-...

    mysql-connector-java-8.0.19.tar.gz

    "mysql-connector-java-8.0.19.tar.gz"是这个特定版本的MySQL Connector/J的压缩包文件,适用于Java开发环境。 MySQL Connector/J 8.0.19是针对MySQL 8.0系列的一个版本,它包含了对新特性、性能优化和已知问题修复...

    Java 连接 Oracle 方法与驱动文件

    将ojdbc.jar文件复制到Java项目的`lib`目录下,或者如果你使用的是Maven或Gradle项目,可以在`pom.xml`或`build.gradle`文件中添加对应的依赖。 2. 连接Oracle数据库的步骤: - 导入必要的JDBC包: ```java ...

    oracle19c驱动.zip

    在这个"oracle19c驱动.zip"压缩包中,包含了一个关键的文件——"ojdbc8.jar",它是Oracle 19c JDBC驱动程序的Java档案文件。 1. JDBC介绍: JDBC是Java平台上的一个标准API,由Sun Microsystems(现已被Oracle收购...

    oracle19c驱动包(ojdbc8,ojdbc10)

    这个压缩包提供了针对Oracle 19c的Java数据库连接器(JDBC)驱动,包括ojdbc8和ojdbc10两个版本,分别适用于Java Development Kit(JDK)的8和10版本。 ojdbc驱动是Oracle公司提供的用于Java应用程序与Oracle数据库...

    Oracle19c 驱动jar包

    这个压缩包包含了两个重要的jar文件:ojdbc10.jar和ojdbc8.jar,它们分别对应不同的Java版本兼容性。 1. **ojdbc10.jar**: - ojdbc10.jar是专门为Java 10及更高版本设计的Oracle JDBC驱动程序。它包含了对Oracle ...

    mysql-connector-java-8.0.19.rar

    解压后,你会得到`mysql-connector-java-8.0.19.jar`文件,这是实际的JDBC驱动程序。然后,你可以将这个`.jar`文件复制到你的Web应用的`WEB-INF/lib`目录下。`WEB-INF`是Java Web应用的标准结构的一部分,`lib`目录...

    java第19章,java-chapter19.rar

    本章“java第19章”将深入探讨Java的一些核心概念和技术,旨在帮助开发者进一步提升其Java编程技能。 在Java的世界中,第19章通常会涵盖高级主题,可能包括但不限于多线程、网络编程、I/O流、集合框架、异常处理...

    mysql-connector-java-8.0.19.jar.7z

    1. 下载`mysql-connector-java-8.0.19.jar`并将其保存到JRE的lib目录下。这通常不是最佳实践,因为这样做可能会污染JRE环境。更推荐的做法是将jar文件放在项目的`lib`目录或使用Maven或Gradle等构建工具管理依赖。 ...

    gbase jdbc 驱动下载 gbase-connector-java

    这个jar文件包含了所有必要的类和资源,使得Java应用能够识别并连接到GBase数据库。 **1. 安装GBase JDBC驱动** 要使用GBase JDBC驱动,你需要将`gbase-connector-java-8.3.81.53-build55.2.1-bin.jar`添加到你的...

Global site tag (gtag.js) - Google Analytics