`

java 获得网络资源

阅读更多
java在网络上请求地址,都会用到URL url = new URL(urlStr)来定位资源,
然后根据url获得输入流in = url.openStream();从而可以得到网络资源。

以下是一个完整的程序代码:
package com.zakisoft.tools;

import java.io.FileOutputStream;
import java.io.InputStream;
import java.io.OutputStream;
import java.net.URL;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.Date;

import javax.swing.JOptionPane;

public class GetGSInfo {
	
	private static String GOLD_PRICE_URL = "http://www.kitco.cn/cn/live_charts/goldcny.gif";
	private static String SILVER_PRICE_URL = "http://www.kitco.cn/cn/live_charts/silvercny.gif";
	
	private static String SAVE_PATH = "D://Glod_Silver//";

	private GetGSInfo() {		
		Date cd = new Date();
		DateFormat df = new SimpleDateFormat("yyyy-MM-dd");
		
		String cdstr = df.format(cd);
		String glodOutPath = SAVE_PATH + cdstr + "-Glod.gif";
		String silverOutPath = SAVE_PATH + cdstr + "-Silver.gif";
		
		getContext(GOLD_PRICE_URL, glodOutPath);
		getContext(SILVER_PRICE_URL, silverOutPath);
		
		JOptionPane.showMessageDialog(null, "价格保存完成...");
	}

	public void getContext(String urlStr, String outPath) {// 获得网络资源并写入指定文件
		InputStream in = null;
		OutputStream out = null;
		try {
			// 用streams,存储获得的资源
			URL url = new URL(urlStr);
			in = url.openStream();
			if (outPath == null) {
				out = System.out;
			} else {
				out = new FileOutputStream(outPath);
			}
			// 用输出流out,输出到指定位置
			byte[] buffer = new byte[1024];
			int bytes_read;
			while ((bytes_read = in.read(buffer)) != -1) {
				out.write(buffer, 0, bytes_read);
			}
		} catch (Exception e) {
			e.printStackTrace();
		} finally {
			try {
				in.close();
				out.close();
			} catch (Exception e) {
			}
		}
	}

	public static void main(String[] args) {
		new GetGSInfo();
	}

}

分享到:
评论

相关推荐

    Java资源包01

    PortGroper 是一款java写的开源拒绝服务测试工具,它不是僵尸网络类的ddos,而是使用大量的代理作为bots发起DDOS。Port Groper可以与用测试防火墙,干扰web 统计脚本的跟踪,为网站增加流量..往好了用什么都能干,就是...

    Android如何获得网络资源的大小

    ### Android如何获得网络资源的大小 在Android应用开发过程中,我们常常需要下载各种类型的网络资源,比如图片、音乐、视频或文档等。为了提供更好的用户体验,开发者通常希望能够在下载前预知这些资源的大小,从而...

    BP.rar_BP_bp 神经网络 java 算法_bp 预测_java BP预测算法_预测算法java

    总的来说,这个BP神经网络Java实现为理解和实践预测算法提供了一个基础平台,对于学习和研究神经网络算法的开发者来说,是一个有价值的资源。通过深入研究源代码,我们可以更深入地理解BP算法的工作原理,以及如何在...

    java资源参考列表

    通过阅读这些资源,Java程序员不仅能增强理论知识,还能获得实践经验,从而在开发过程中游刃有余。"必备的 Java 参考资源列表.htm"很可能包含了上述提到的书籍和其他重要资源的详细信息,建议下载并仔细研究,以便...

    JAVA_API1.6文档(中文)

    java.lang.reflect 提供类和接口,以获得关于类和对象的反射信息。 java.math 提供用于执行任意精度整数算法 (BigInteger) 和任意精度小数算法 (BigDecimal) 的类。 java.net 为实现网络应用程序提供类。 java....

    JAVA网络编程及多线程

    3. **运行状态**:当就绪状态的线程被调度并获得处理器资源时,便进入运行状态。每一个`Thread`类及其子类的对象都有一个重要的`run()`方法,当线程对象被调度执行时,它将自动调用本对象的`run()`方法,从第一句...

    Java多线程下载网络图片

    在Java编程中,多线程是一项关键技能,尤其在处理并发任务时,如我们的示例——"Java多线程下载网络图片"。这个场景展示了如何利用多线程技术提高程序性能,减少用户等待时间,同时优化系统资源的使用。下面我们将...

    用java 如何获得ip.rar_java如何获得

    在给定的压缩包文件中,有一个名为"用java 如何获得ip.txt"的文本文件,很可能包含了使用Java获取IP的示例代码。通常,这样的代码会展示如何通过`InetAddress`类的上述方法获取IP地址。例如,以下是一个简单的Java...

    Java读取并下载网络文件的方法

    1. 建立连接:使用`HttpURLConnection`类建立与网络资源的连接。 2. 获取输入流:使用`getInputStream()`方法获取网络资源的输入流。 3. 读取输入流:使用`readInputStream()`方法将输入流读取到字节数组中。 4. ...

    ArcGIS Runtime SDK for Java 100.12.0

    ArcGIS Runtime SDK for Java 100.12.0 的...如需在生产环境中使用ArcGIS Runtime SDK for Java,请联系ESRI公司获得授权,现在也有国产替代产品GeoScne Runtime SDK for Java,可以联系易智瑞公司获得相关资源和授权。

    java编的获得html文件的小程序

    标题中的“java编的获得html文件的小程序”表明这是一个用Java语言编写的应用程序,它的主要功能是获取HTML文件的内容。这个小程序可能是一个基础的网络爬虫或者网页抓取工具,对于初学者来说,是一个了解Java网络...

    Java学习视频以及电子书资源

    无论是初学者还是有一定经验的开发者,都能从Java的学习过程中获得巨大的收获。本文将针对“Java学习视频以及电子书资源”这一主题进行深入探讨,旨在帮助读者更好地理解和利用这些宝贵的资源。 #### 二、Java学习...

    JAVA2网络协议内幕

    这使得Java在处理网络资源定位时非常灵活。 3. 连接管理:对于TCP连接,Java提供了丰富的控制,比如设置超时和保持连接的状态。这使得开发者能够根据自己的应用需求调整网络行为。 四、Java网络协议内幕的进阶知识...

    java 检测本机的服务端口

    在Java编程语言中,检测本机的服务端口是一项常见的任务,尤其在开发网络应用程序时,我们需要确保特定的端口是否正在被服务或者应用监听。本文将深入探讨如何使用Java来检查本地计算机上运行的服务端口。 首先,...

    java-jdk11.0.1

    在Java社区中,JDK 11被视为一个长期支持(LTS)版本,这意味着它将获得更长时间的技术支持和安全更新,对于企业和开发团队来说,选择这样的版本更为稳妥。 1. **模块系统**:JDK 11引入了全新的模块系统(Project ...

    Java入门到精通完整教程+源码.zip

    本资源“Java入门到精通完整教程+源码.zip”提供了一个全面的学习路径,帮助初学者逐步掌握Java编程技能并进阶至精通。下面将详细解析这个压缩包中的学习内容。 首先,"Java1908-master"可能指的是2019年8月的一个...

    java学习过程资源

    通过以上学习,你将获得全面的Java开发技能,涵盖Web开发、数据库管理、搜索引擎技术,以及项目实战经验,为你的IT职业生涯奠定坚实基础。提供的下载链接包含了每个阶段的学习视频,是自主学习的良好资源。

    Java网络编程

    ### Java网络编程核心知识点 #### 一、网络编程基础与TCP/IP协议 1. **TCP/IP协议概述** TCP/IP(Transmission Control Protocol/Internet Protocol)是互联网的基础协议之一,用于实现不同网络间的通信。该协议...

    Java网络爬虫,附源码和文档

    总的来说,这个Java网络爬虫项目是一个全面的学习资源,无论你是初学者还是有一定经验的开发者,都能从中获得宝贵的经验和技巧。通过深入研究源码和文档,你将能够构建自己的网络爬虫,满足特定的数据抓取需求。

Global site tag (gtag.js) - Google Analytics