⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 stockgather.java

📁 股票信息采集源码
💻 JAVA
字号:
/**
 * 股票采集线程操作
 */
package cn.com.lucre.stock;

import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Vector;

import javax.swing.JTextArea;

import cn.com.lucre.stock.db.StockDB;
import cn.com.lucre.stock.tools.StockReader;

/**
 * @author ABE
 * 
 */
public class StockGather extends Thread {

	/**
	 * @param args
	 */
	int threadnum = 0;
	public static int j=1;
	public static int flag = 0;

	Thread[] it;

	JTextArea viewarea;

	 Vector codes;

	 Vector names;
	
	 Vector areas;

	public StockGather() {

	}

	public StockGather(JTextArea area) {

		viewarea = area;

	}

	public void tostart() {
		init();
		
		for (int i = 0; i < threadnum; i++) {
			it[i] = new Thread(new innerThread(), "" + i);// 股票代码可以用线程名*线程数获得
			it[i].start();

		}
	}

	public void tostop() {
		
			flag=1;
			viewarea.setText("");
	}

	public void init() {
		flag=0;
		getData();
		threadnum = 20;// 读取配置
		it = new Thread[threadnum];
	}

	public static void main(String[] args) {
		// TODO Auto-generated method stub

		/*StockGather thread = new StockGather();
		thread.init();
		thread.tostart();*/
		StockGather gather=new StockGather();
		if(gather.getCurrentTime()){
			System.out.println("aaaaaaaaa");
		}else System.out.println("bbbbbbbbbbbb");

	}

	public void getBean() {
		viewarea = new JTextArea();
	}

	public void getData() {
		codes = new Vector();
		names = new Vector();
		areas=new Vector();
		StockDB db = new StockDB();
		Vector[] temp = db.getStockCode();
		codes = temp[0];
		names = temp[1];
		areas=temp[2];
		temp=null;
	}
	
	public boolean getCurrentTime(){
		/*long nCurrentTime = System.currentTimeMillis();
		SimpleDateFormat simpleDateFormat = new SimpleDateFormat("HH:mm:ss");
		String time=simpleDateFormat.format(new Date(nCurrentTime));
		System.out.println(time);*/
		Date date=new Date();
		Date date1=new Date(1,1,1,1,8,30);
		Date date2=new Date(1,1,1,1,15,30);
		Date date3=new Date(1,1,1,1,date.getHours(),date.getMinutes());
		if(date3.getTime()>date1.getTime()&&date3.getTime()<date2.getTime()){
			return true;
		}else
			return false;
		
	}

	class innerThread implements Runnable {
		String threadid = "";
		
		public void run() {
			// TODO Auto-generated method stub
			
			int i = 0;
			int offset=0,pos=0;
			String code="",name="",area="";
			threadid = Thread.currentThread().getName();
			offset=Integer.parseInt(threadid);
			StockReader reader=new StockReader();
			while (flag == 0) {
				if(!getCurrentTime()){
					try {
						Thread.sleep(1000*1000);
					} catch (InterruptedException e) {
						// TODO Auto-generated catch block
						e.printStackTrace();
					}finally{
						continue;
					}
				}
				pos=offset+threadnum*i;
			    code=(String)codes.get(pos);
			    name=(String)names.get(pos);
			    area=(String)areas.get(pos);
			    viewarea.append((j++)+"股票名称:"+name+"         股票代码:"+code+ "\n");
				viewarea.setVisible(true);
				try {
					reader.Reader(code,area);
				} catch (Exception e1) {
					// TODO Auto-generated catch block
					e1.printStackTrace();
				}
				
				try {
					sleep(20);
				} catch (InterruptedException e) {
					// TODO Auto-generated catch block
					e.printStackTrace();
				}
				if(pos+threadnum>codes.size()-threadnum+offset){
					i=0;
				}else {
					i++;
				}
				if(j>2000){
					viewarea.setText("");
					j=1;
				}
				
			}
		}

	}


}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -