`

java 读取股票

阅读更多
import java.io.BufferedInputStream;
import java.io.File;
import java.io.FileOutputStream;
import java.net.HttpURLConnection;
import java.net.URL;
import java.text.DecimalFormat;
import java.util.ArrayList;
import java.util.List;

import org.apache.commons.io.FileUtils;

public class Stock {

public static void main(String[] args) throws Exception {
Stock.current(getDestUrls());
}
public static void  task() throws Exception {
java.util.Timer timer = new java.util.Timer(false);
java.util.TimerTask task = new java.util.TimerTask() {

@Override
public void run() {

try {
Stock.current(getDestUrls());
} catch (Exception e) {
e.printStackTrace();
}
}
};
java.util.Date time = new java.util.Date();
long delay = 10000;

// 启动定时任务,立即执行壹次,然后每隔两秒执行壹次
timer.schedule(task, time, delay);
}
public static List<String> getDestUrls() {
List<String> result = new ArrayList<String>();
result.add("http://hq.sinajs.cn/list=sh000001");
result.add("http://hq.sinajs.cn/list=sz300027");
result.add("http://hq.sinajs.cn/list=sh600999");
result.add("http://hq.sinajs.cn/list=sh600109");
return result;
}
public static void  current(List<String> destUrls) throws Exception {
for (int i = 0; i < destUrls.size(); i++) {
String destUrl = destUrls.get(i);//"http://hq.sinajs.cn/list=sz300027";
String fileName = "C:\\stock";
FileOutputStream fos = null;
  BufferedInputStream bis = null;
  HttpURLConnection httpUrl = null;
  URL url = null;
  int size = 0;
  byte[] buf = new byte[1024];
  url = new URL(destUrl);
  httpUrl = (HttpURLConnection) url.openConnection();
  httpUrl.connect();
  bis = new BufferedInputStream(httpUrl.getInputStream());
  fos = new FileOutputStream(fileName);
  while ((size = bis.read(buf)) != -1)
   fos.write(buf, 0, size);
  fos.close();
  bis.close();
  httpUrl.disconnect();
  String result = FileUtils.readFileToString(new File(fileName),"GBK");
  result = result.substring(21, result.length()-1);
  String name = result.split(",")[0];
  String yesterday = result.split(",")[2];
  String now = result.split(",")[3];
  Float percent = (Float.parseFloat(now)-Float.parseFloat(yesterday))/Float.parseFloat(yesterday);
  DecimalFormat df = new DecimalFormat("###,##0.00%");
  System.err.print(name+",");
  System.err.print(now+",");
  System.err.print(df.format(percent));
  System.err.println();
}

}
}
分享到:
评论

相关推荐

    用Java实现股票走势图

    本文将逐步介绍如何使用Java语言来实现股票走势图的绘制,包括坐标系的设置、数据的读取和处理、图表的绘制等步骤。 坐标系的设置 在实现股票走势图时,首先需要设置坐标系。坐标系包括X轴和Y轴两个部分。X轴用于...

    java jfreechart股票时序图,实现从文件中读取数据并显示

    通过这种方式,Java开发者可以使用JFreeChart库轻松地实现从文本文件读取股票数据并生成时序图,为股票分析提供直观的视觉展示。同时,这种技术也可以应用于其他需要时间序列数据可视化的场景,如天气数据、销售报告...

    Java股票分析排序

    要求使用JAVA I.O数据流对数据进行读取并对相关数据进行排序操作后再重新写入新的TXT文件中。具体要求如下: 1. 建立实体类StockInfo, 用于存储读入的数据。 2. 实现接口FileHandler。FileHandler负责进行文件的...

    数据结构课程设计-基于Java swing的股票交易模拟系统(源码+数据库+ppt).zip

    该实验运用了数据库的知识,模型 视图 组件也被应用在程序里,基于JAVA的swing第三方的开源软件JFreechart以及新浪的股票接口。 1.面向对象程序设计方法,类模板的应用:分析模型给出数(报表)、形(图形)、文...

    java股票走势图

    ### Java股票走势图:AWT实现详解 在Java编程领域,绘制动态或静态的图表是一项常见的需求,尤其是在金融、数据分析等领域,其中股票走势图是最典型的应用之一。本文将详细解析如何使用AWT(Abstract Window ...

    JAVA编写的预警系统

    6. **文件系统交互**:由于文件备份是关注点,系统可能包含文件I/O操作,如读取、写入、检查文件状态等。 7. **错误处理和容错**:为了保证系统的健壮性,需要有良好的错误处理策略,确保在异常情况下仍能正常运行...

    java股票系统源码B/S

    Java股票系统源码B/S是一种基于Java编程语言和B/S(Browser/Server,浏览器/服务器)架构的股票交易系统实现。这种系统的核心在于利用Java的技术优势来构建稳定、高效的股票交易平台,用户可以通过Web浏览器进行操作...

    基于java的股票自动交易系统的设计与实现

    《基于Java的股票自动交易系统的设计与实现》 在当今高度发达的金融市场中,自动交易系统已经成为投资领域不可或缺的一部分。本文将深入探讨如何利用Java这一强大的编程语言来设计并实现一个股票自动交易系统,旨在...

    java+jfreechart 做股票日线数据查看系统

    1. 数据导入:系统需要能够读取股票的历史日线数据,这些数据通常以CSV或数据库的形式存储,包括日期、开盘价、收盘价、最高价、最低价和交易量等字段。 2. 数据解析:导入的数据需要被正确解析并存储到适当的数据...

    基于Java三层架构和MySQL数据库的股票交易系统

    【标题】:“基于Java三层架构和MySQL数据库的股票交易系统”是将软件设计中的分层思想应用于股票交易系统的开发,采用Java技术栈,利用JDBC(Java Database Connectivity)进行数据库连接,并结合MySQL数据库来存储...

    JAVA系统连接雅虎的

    在Java编程语言中,开发一个连接雅虎财经的股票系统是一项常见的任务,这涉及到网络通信、数据抓取和解析等技术。以下是一些关键的知识点: 1. **Java网络编程**:首先,我们需要使用Java的Socket编程来实现与雅虎...

    JAVA写的SVM程序

    1. 数据预处理:读取原始数据,可能需要进行特征提取、归一化等操作,以便于SVM模型处理。 2. 创建SVM实例:根据需求选择合适的核函数(如线性、多项式、RBF等)和参数设置(如C值、γ值等)。 3. 训练模型:使用...

    spark 朴素贝叶斯实现股票预测数据+代码

    接下来是Java和Python的代码文件:"Stock_Analis.java"可能是股票分析的Java程序,可能包含了数据读取、处理、模型评估等功能。"DealDataToTrain.java"可能是处理数据并转化为适合训练模型的类,这里可能涉及到特征...

    java前景论文 a态与前景一记

    - **嵌入式Java技术的应用**:例如,使用Java芯片制作的Java Ring(Java戒指),可以将个人信息存储其中,只需将其插入特定的读取设备即可显示个人信息。 - **基于Java技术的家电产品**:包括用于WebTV的顶置盒、...

    Java使用SOAP获取webservice实例解析

    ### Java使用SOAP获取WebService实例解析 #### WebService简介 WebService是一种跨编程语言和操作系统平台的、在网络上进行数据交换的一种方式。它使用标准的Internet协议,如HTTP、XML、SOAP等来实现不同系统间的...

    深入分析java web

    书中可能深入讲解了Java的I/O流体系,包括字符流和字节流,以及如何在Web环境中实现高效的文件读写和网络通信。 3. **javac编译原理**:javac是Java的官方编译器,理解其工作原理有助于开发者优化代码和解决编译...

    ARIMA JAVA 实现

    这个项目可能包括数据读取、模型训练、预测输出等模块,可以帮助学习者理解和实践ARIMA模型的JAVA实现。 总之,ARIMA模型在JAVA中的实现涉及了时间序列分析的关键步骤,包括数据预处理、参数选择、模型训练和预测。...

    java-comet

    Java-Comet是一种在Java平台上实现的长轮询(Comet)技术,它主要用于实现实时Web通信。Comet技术允许服务器向客户端推送数据,而不仅仅是响应客户端的请求,这在构建实时应用如聊天室、股票报价、在线游戏等场景中...

    JAVA nio异步长连接服务端与客户端

    这对于高频率的交互和实时性要求较高的应用非常有用,如在线聊天、股票交易等。 在服务端,通常会创建一个NIO的Selector,用于监听多个Channel(通道)的读写事件。Selector通过register()方法注册Channel,并设置...

    java特效篇

    8. 实时更新:WebSocket协议允许双向通信,Java Web应用可以通过WebSocket实现聊天室、股票实时报价等需要实时更新的特效。 总结起来,Java特效篇涵盖了从后端数据处理到前端展示的整个流程,涉及的技术广泛,包括...

Global site tag (gtag.js) - Google Analytics