最近对网上同仁们的代码进行了研究,写出了此代码,大家共同学与进步,也感谢在网上发布优秀代码的同仁们

钱龙中日线数据存储在QLDATA\history\shase\day和QLDATA\history\sznse\day目录下,每个文件对应一只股票。

首先定义一个对象如下

package lgj.qldata;

public class gpStruct {
 
 int nDate=0;
 int nOpenPrice =0;
 int nHighestPrice=0;
 int nLowestPrice=0;
 int nClosePrice=0;
 int nAmount=0;
 
  int nTransCount=0;
  int nPadding1=0;
  int nPadding2=0;
  int nPadding3=0;
 public int getNAmount() {
  return nAmount;
 }
 public void setNAmount(int amount) {
  nAmount = amount;
 }
 public int getNClosePrice() {
  return nClosePrice;
 }
 public void setNClosePrice(int closePrice) {
  nClosePrice = closePrice;
 }
 public int getNDate() {
  return nDate;
 }
 public void setNDate(int date) {
  nDate = date;
 }
 public int getNHighestPrice() {
  return nHighestPrice;
 }
 public void setNHighestPrice(int highestPrice) {
  nHighestPrice = highestPrice;
 }
 public int getNLowestPrice() {
  return nLowestPrice;
 }
 public void setNLowestPrice(int lowestPrice) {
  nLowestPrice = lowestPrice;
 }
 public int getNOpenPrice() {
  return nOpenPrice;
 }
 public void setNOpenPrice(int openPrice) {
  nOpenPrice = openPrice;
 }
 public int getNPadding1() {
  return nPadding1;
 }
 public void setNPadding1(int padding1) {
  nPadding1 = padding1;
 }
 public int getNPadding2() {
  return nPadding2;
 }
 public void setNPadding2(int padding2) {
  nPadding2 = padding2;
 }
 public int getNPadding3() {
  return nPadding3;
 }
 public void setNPadding3(int padding3) {
  nPadding3 = padding3;
 }
 public int getNTransCount() {
  return nTransCount;
 }
 public void setNTransCount(int transCount) {
  nTransCount = transCount;
 }

}

读取的方法代码如下

public void insertqldata(){

// TODO Auto-generated method stub
  FileInputStream fin=null;
  DataInputStream in=null;
  try{
   File f=new File("c:\\000498.day");
   
   //long fileength=f.length();
   byte[] buf=new byte[40];
   
  //DataInputStream in = new DataInputStream(new FileInputStream("c:\\000498.day"));
    
  int i=32;
  
  
   fin = new FileInputStream(f);
   in = new DataInputStream(fin);
  int num=0;
  
  long totalsize=0;
  long filelength=f.length();
  
  ArrayList list=new ArrayList();
  
  while(totalsize<filelength){
   
   gpStruct gps=new gpStruct();
   
   totalsize+=40;
   
   if(totalsize>filelength){
    byte[]leftpart=new byte[40-(int)(totalsize-filelength)];
    in.readFully(leftpart);
    
    gps.nDate=(leftpart[0]&0xFF) |((leftpart[1]&0xFF)<<8) |((leftpart[2]&0xFF)<<16)|((leftpart[3]&0xFF)<<24);
    System.out.println("---gps.nDate--"+gps.nDate);
    
    
    gps.nOpenPrice=(leftpart[4]&0xFF)|((leftpart[5]&0xFF)<<8)|((leftpart[6]&0xFF)<<16)|((leftpart[7]&0xFF)<<24);
    
    
    System.out.println("---nOpenPrice--"+gps.nOpenPrice);
    
    gps.nHighestPrice =(leftpart[8]&0xFF)|((leftpart[9]&0xFF)<<8)|((leftpart[10]&0xFF)<<16)|((leftpart[11]&0xFF)<<24);
    
    System.out.println("---gps.nHighestPrice--"+gps.nHighestPrice);
    
    gps.nLowestPrice  =(leftpart[12]&0xFF)|((leftpart[13]&0xFF)<<8)|((leftpart[14]&0xFF)<<16)|((leftpart[15]&0xFF)<<24);

gps.nClosePrice   =(leftpart[16]&0xFF)|((leftpart[17]&0xFF)<<8)|((leftpart[18]&0xFF)<<16)|((leftpart[19]&0xFF)<<24);

gps.nAmount    =(leftpart[20]&0xFF)|((leftpart[21]&0xFF)<<8)|((leftpart[22]&0xFF)<<16)|((leftpart[23]&0xFF)<<24);

gps.nTransCount     =(leftpart[24]&0xFF)|((leftpart[25]&0xFF)<<8)|((leftpart[26]&0xFF)<<16)|((leftpart[27]&0xFF)<<24);

gps.nPadding1      =(leftpart[28]&0xFF)|((leftpart[29]&0xFF)<<8)|((leftpart[30]&0xFF)<<16)|((leftpart[31]&0xFF)<<24);
   
    gps.nPadding2      =(leftpart[32]&0xFF)|((leftpart[33]&0xFF)<<8)|((leftpart[34]&0xFF)<<16)|((leftpart[35]&0xFF)<<24);
    
    gps.nPadding3      =(leftpart[36]&0xFF)|((leftpart[37]&0xFF)<<8)|((leftpart[38]&0xFF)<<16)|((leftpart[39]&0xFF)<<24);
    
    list.add(gps);
   }else{
    
    in.readFully(buf);
    
    gps.nDate=(buf[0]&0xFF) |((buf[1]&0xFF)<<8) |((buf[2]&0xFF)<<16)|((buf[3]&0xFF)<<24);
    System.out.println("---gps.nDate--"+gps.nDate);
    
    
    gps.nOpenPrice=(buf[4]&0xFF)|((buf[5]&0xFF)<<8)|((buf[6]&0xFF)<<16)|((buf[7]&0xFF)<<24);
    
    
    System.out.println("---nOpenPrice--"+gps.nOpenPrice);
    
    gps.nHighestPrice =(buf[8]&0xFF)|((buf[9]&0xFF)<<8)|((buf[10]&0xFF)<<16)|((buf[11]&0xFF)<<24);
    
    System.out.println("---gps.nHighestPrice--"+gps.nHighestPrice);
    
    gps.nLowestPrice  =(buf[12]&0xFF)|((buf[13]&0xFF)<<8)|((buf[14]&0xFF)<<16)|((buf[15]&0xFF)<<24);

gps.nClosePrice   =(buf[16]&0xFF)|((buf[17]&0xFF)<<8)|((buf[18]&0xFF)<<16)|((buf[19]&0xFF)<<24);

gps.nAmount    =(buf[20]&0xFF)|((buf[21]&0xFF)<<8)|((buf[22]&0xFF)<<16)|((buf[23]&0xFF)<<24);

gps.nTransCount     =(buf[24]&0xFF)|((buf[25]&0xFF)<<8)|((buf[26]&0xFF)<<16)|((buf[27]&0xFF)<<24);

gps.nPadding1      =(buf[28]&0xFF)|((buf[29]&0xFF)<<8)|((buf[30]&0xFF)<<16)|((buf[31]&0xFF)<<24);
   
    gps.nPadding2      =(buf[32]&0xFF)|((buf[33]&0xFF)<<8)|((buf[34]&0xFF)<<16)|((buf[35]&0xFF)<<24);
    
    gps.nPadding3      =(buf[36]&0xFF)|((buf[37]&0xFF)<<8)|((buf[38]&0xFF)<<16)|((buf[39]&0xFF)<<24);
    list.add(gps);
   }
  }

in.close();
  
  
  }catch(Exception ex){
   
   ex.printStackTrace();
   
  }finally{
   
   try{
    if(in!=null)in.close();
    if(fin!=null)fin.close();
   }catch(Exception ex){
    
    ex.printStackTrace();
   }
  }
   
 }

java读取钱龙股票软件下载的日线数据核心代码相关推荐

  1. java读取excel某个单元格的值_[转载]Java读取Excel中的单元格数据

    目前网上能找到的读取Excel表格中数据的两种比较好的方案:PageOffice好用开发效率高:POI免费.供大家参考,针对具体情况选择具体方案. 1. PageOffice读取excel impor ...

  2. 【EasyExcel】Java读取一维及二维Excel数据并存入数组

    EasyExcel是一个基于Java的.快速.简洁.解决大文件内存溢出的Excel处理工具.它能让你在不用考虑性能.内存的等因素的情况下,快速完成Excel的读.写等功能. Java基于EasyExc ...

  3. stm32 iic接口 进入busy_STM32通过IIC接口读取JY61模块MPU6050陀螺仪芯片数据核心程序...

    1 简述 最近,想学角度融合算法在网上买一个JY61的模块.他们家的模块用起来还不错.模块分为串口通讯和IIC通讯的.串口读取数据他们家有例程,我就不说了.想分享给大家这个模块的IIC是怎么去读取MP ...

  4. JAVA读取键盘输入的多行数据_java读取键盘输入

    从键盘流向内存的数据流 C. 从键盘流向显示器的数据流 D. 从网络流向显示器的数据流 2.Java 语言中提供输入输出流的包是( d ) A. java.sql B. java....... 7 S ...

  5. java实现2-3树_2-3-4树的分裂核心代码【JAVA实现】 | 学步园

    public void split(Node thisNode) // split the node { // assumes node is full DataItem itemB, itemC; ...

  6. 股票日线数据下载——从零到实盘3

    前文介绍了从BaoStock下载股票代码,本文记录利用这些股票代码下载股票日线数据的过程. 主要代码分析 参考前文,新建源文件,新文件命名为data_center_v2.py,全部内容见文末,v2比v ...

  7. java读取XML文件的四种方式

    java读取XML文件的四种方式 Xml代码 <?xml version="1.0" encoding="GB2312"?> <RESULT& ...

  8. java读取图片成rgb二维数组

    全栈工程师开发手册 (作者:栾鹏) java教程全解 java读取图片成rgb二维数组 测试代码 public static void main(String[] args) {Color[][] a ...

  9. java读取文件并输出_java读取txt文件并输出结果

    这篇文章主要介绍了java读取txt文件并输出结果,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 描述: 1.java读取指定txt文件并解析 文件 ...

最新文章

  1. 终于找到可以一文多发的平台了!
  2. java反射机制和junit的使用
  3. 我的博客今天6岁298天了,我领取了元老博主徽章
  4. Java中的异步等待
  5. 利用div的定位制作复杂的页面布局
  6. erp系统是什么软件有哪些
  7. linux java缓存失效_转载:Linux服务器Cache占用过多内存导致系统内存不足最终java应用程序崩溃解决方案...
  8. Mutex(互斥锁)
  9. 聊聊flink JobManager的heap大小设置 1
  10. WinForm列表控件美化
  11. java求1~20阶乘之和
  12. 台式电脑主板插线步骤图_电脑主板跳线接法图文教程(安装过程)
  13. hankerrank 刷题二( Python 基础)
  14. php 图片印章_给图片加字,印章在线生成
  15. rpcs3计算机丢失,【小白必看】关于缺失Vulkan无法打开RPSC3等问题的方案
  16. 华为eNSP模拟器操作技巧之关闭信息提示
  17. 【十分钟读懂系列】之什么是SLF,PSL,MLF,SLO?
  18. Pymc 包(贝叶斯模型 python工具):(1)安装版本提示
  19. 计算机试题上网部分怎么做,考试经验之谈:计算机一级考试上网题怎么操作?...
  20. 魅族16sPro更新体验版Flyme8,手机桌面更丰富,新增逆光自拍模式

热门文章

  1. 小程序ios端的小bug,小程序如何实现自适应布局
  2. selinux关闭不重启系统
  3. 【STM8】使用SPI通讯控制多个级联MBI5043 一一方案制定
  4. 阿里云AliYun物联网平台使用-申请免费试用及完成初始配置
  5. Keep上市,打响健身科技第一炮?
  6. 遭遇kav32.exe,scvhost.exe,NXD.exe,WINMSCABC.IME,extext74296t.exe等1
  7. python生成json文件
  8. vue中input如何实现防抖
  9. 开工大吉!祝低代码软件开发公司流辰信息财源广进、步步高升!
  10. dcu故障是哪_dcu故障是什么意思