package cn.uway.test;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.net.URL;
import java.net.URLConnection;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
/**
*
* 实时查询股票情况
*
* @author Administrator
*
*/
public class StockQuery
{
private String requestUrl = "http://qt.gtimg.cn/r=0.7938921226847172q=";
private long sleepSecond = 30;
private List<String> stockCodeList;
private SimpleDateFormat dateFormate = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
public StockQuery(List<String> stockCodeList,long sleepSecond)
{
this.stockCodeList = stockCodeList;
this.sleepSecond = sleepSecond;
}
public void executeQuery() throws IOException, InterruptedException
{
String request = getRequestData();
while (true)
{
System.out.println(dateFormate.format(new Date()));
System.out.println("***********************************************************************");
sendRequest(request);
Thread.sleep(sleepSecond * 1000);
}
}
private String getRequestData()
{
StringBuilder requestUrlWithPara = new StringBuilder(requestUrl);
for(String code : stockCodeList)
{
requestUrlWithPara.append(code+",");
}
if(stockCodeList.size() > 0)
{
requestUrlWithPara.deleteCharAt(requestUrlWithPara.length()-1);
}
return requestUrlWithPara.toString();
}
private void sendRequest(String request) throws IOException
{
URL url = new URL(request);
URLConnection conn = url.openConnection();
InputStream in = conn.getInputStream();
BufferedReader br = new BufferedReader(new InputStreamReader(in,"GBK"));
String tmp = null;
while (null != (tmp = br.readLine()))
{
tmp = tmp.replace('~', '\t');
int index = tmp.indexOf('=');
tmp = tmp.substring(index + 2);
int headerIndex = tmp.indexOf("\t");
tmp = tmp.substring(headerIndex+1);
int last = tmp.lastIndexOf(";");
tmp = tmp.substring(0, last-1);
System.out.println(tmp);
}
br.close();
in.close();
}
public static void main(String[] args)
{
//股票代号列表
List<String> codeList = new ArrayList<String>();
codeList.add("s_sh601377");
codeList.add("s_sh600828");
codeList.add("s_sz002008");
codeList.add("s_sz000157");
codeList.add("s_sh000001");
StockQuery stockQuery = new StockQuery(codeList, 30);
try
{
stockQuery.executeQuery();
}
catch (IOException e)
{
e.printStackTrace();
}
catch (InterruptedException e)
{
e.printStackTrace();
}
}
}
分享到:
相关推荐
java查看股市行情,可以自己定义,实时查看,适合上班族看股.
在IT领域,特别是Java开发中,获取实时股票信息是一项常见且重要的功能,尤其在金融、投资和数据...通过整合以上技术,Java开发者可以构建出功能强大、信息丰富的股票行情应用程序,为投资者提供即时和历史的市场数据。
10. **AJAX轮询**:在实时性要求较高的场景,如聊天室或股票行情,可以使用Ajax轮询,定期向服务器发送请求获取最新数据。 11. **单页应用(SPA)**:Ajax技术使得构建单页应用成为可能,用户在浏览过程中无需刷新...
在"Java 股市项目源代码"中,开发者可能使用了Swing组件来设计各种功能,如股票报价显示、图表绘制、交易数据输入和查询。项目可能还包括与股票API的集成,以便获取实时市场数据,以及可能的数据存储和处理机制,...
1. **GUI设计**:Java Swing或JavaFX库用于创建用户界面,展示股票行情。JTable组件可以用于显示股票列表,JLabel和JTextArea则可用于显示股票详情。 2. **图表绘制**:对于K线图、成交量图等可视化需求,Java可以...
Java实现股票走势图 在本文中,我们将使用Java语言来实现股票走势图的绘制。股票走势图是一种常见的证券行业图表,用于显示股票的价格走势。本文将逐步介绍如何使用Java语言来实现股票走势图的绘制,包括坐标系的...
做股票行情分析的eclipse插件源代码
7. **用户界面(UI)设计**:尽管未明确提及,但一个完整的模拟股市程序通常会有一个用户友好的界面,可能是通过Swing或JavaFX等Java UI库实现的,用于输入交易指令、显示实时行情等。 总之,这个“人工模拟股市...
Java中利用散列表实现股票行情的查询 Java中文问题详解 Vector在Java编程中的应用 编写高级应用程序1 编写高级应用程序2 实现 Swing 的 JTables 和 Excel 间的复制和粘贴功能 实 现JAVA 的 动 态 类 载 入 机 ...
3. 行情分析:Java股票软件往往包含了各种技术指标计算,如移动平均线(MA)、相对强弱指数(RSI)、布林带(Bollinger Bands)等,这些都需要对数学和统计学有一定了解,并能实现相应的算法。 4. 交易功能:如果...
Java证券期货行情接口源码实例是针对金融市场的数据获取和处理的一种技术实现,它允许开发者通过编程方式获取实时的股票、期货等金融产品的价格、交易量等关键信息。在金融领域,这样的接口通常由证券交易所或第三方...
开发者可以通过调用这些接口,获取到最新的股票行情数据。这些接口可能包括获取股票基本信息、实时交易数据、历史交易数据等多种功能,确保用户能够获取到最准确的市场动态。 在视觉呈现上,系统还支持K线图的展示...
该Android项目源码是开发一个基于新浪股票数据源的股市行情小软件的实例,主要涉及的技术栈包括Android、Java和Apache HTTP库。这个项目对于学习Android应用开发,特别是与网络数据交互的开发者来说,是非常有价值的...
WebSocket是HTML5引入的一种在单个TCP连接上进行全双工通信的协议,常用于实现实时通信,例如聊天应用、股票行情等场景。Java后台可以通过Java WebSocket API来实现WebSocket服务端。 8. **缓存技术**: 缓存可以...
这包括股票行情显示面板、交易订单输入框、账户信息展示区等,使得用户能够直观地查看和操作。 2. **数据存储**:为了记录用户的交易历史、账户余额等信息,需要一个持久化的数据存储方案。可以使用SQLite这样的轻...
这个系统的主要目的是提供一个平台,让用户能够模拟真实的股票市场环境进行交易操作,包括买入、卖出、查看股票行情等。以下是对这个系统设计的一些关键知识点的详细说明: **需求分析**: 1. **用户注册与登录**:...
test目录下有行情的demo,交易部分的API还没完全做好,可以连上前置和登录 这个java接口算是预览版吧,java与ctp api通信用的是Bridj,基于jni,现在还有不少的bridj的代码暴露在调用环节中,以后会慢慢隐藏掉。 选...
4. **实时更新**:通过无线网络,Java ME应用可以接收最新的财经信息,如股票行情、汇率变动等。 5. **安全性**:虽然功能相对简单,但良好的理财软件会采用安全措施,保护用户的财务数据不被泄露。 6. **用户体验...
- **社会信息综合服务系统**:一个名为Kiosk的信息查询亭,用户可以通过触摸屏幕来查询天气预报、股票行情和交通情况等信息。 - **Java许可证和开发者数量的增长**:截至1998年2月,已经发放了120个Java许可证,全球...
一个可以查看股票行情的手机软件,方便易用,节省流量。 n81测试通过