所用jar包:

其中jxl.jar和dom4j.jar,jaxen-1.1-beta-6.jar是解析XML文件用的jar包,如果不解析XML文件可以不用。

代码如下:

package com.locationdataprocess;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStreamReader;
import java.nio.ByteBuffer;
import java.nio.channels.FileChannel;
import com.datastax.driver.core.BoundStatement;
import com.datastax.driver.core.Cluster;
import com.datastax.driver.core.Host;
import com.datastax.driver.core.Metadata;
import com.datastax.driver.core.PreparedStatement;
import com.datastax.driver.core.ResultSet;
import com.datastax.driver.core.Row;
import com.datastax.driver.core.Session;public class QueryAndUpdateData {private Cluster cluster;private Session session;public Cluster getCluster() {return cluster;}public void setCluster(Cluster cluster) {this.cluster = cluster;}public Session getSession() {return session;}public void setSession(Session session) {this.session = session;}/*** 连接节点* * @param node*/public void connect(String node) {cluster = Cluster.builder().addContactPoint(node).build();Metadata metadata = cluster.getMetadata();System.out.printf("Connected to cluster: %s\n",metadata.getClusterName());for (Host host : metadata.getAllHosts()) {System.out.printf("Datatacenter: %s; Host: %s; Rack: %s\n",host.getDatacenter(), host.getAddress(), host.getRack());}this.session = cluster.connect();}public void insertData(String name) {String fileName[]={"Zhengye_DriveTesting_08-18.09-07.txt","Zhengye_DriveTesting_08-18.09-13.txt","Zhengye_DriveTesting_08-18.17-40.txt","Zhengye_DriveTesting_08-18.17-48.txt","Zhengye_DriveTesting_08-19.17-19.txt","Zhengye_DriveTesting_08-20.09-33.txt","Zhengye_DriveTesting_08-20.18-05.txt","Zhengye_DriveTesting_08-19.09-08.txt","Zhengye_DriveTesting_08-21.18-07.txt","Zhengye_DriveTesting_08-21.09-34.txt"};int n = fileName.length;String sqlGPS = "CREATE TABLE IF NOT EXISTS gpsdata.gps ("+ "time varchar,"+ "gps_time varchar,longitude varchar,"+ "latitude varchar,altitude varchar,"+ "heading varchar,speed varchar,"+ "source varchar,satellites varchar,"+ "PRIMARY KEY (time))";String sqlTA = "CREATE TABLE IF NOT EXISTS gpsdata.ta ("+"time varchar,"+ "version varchar,"+ "nRecords varchar,"+ "nSubFrame varchar,"+ "nSystemFrame varchar,"+ "DLFrameTimingOffset varchar,"+ "ULFrameTimingOffset varchar,"+ "ULTimingAdvance varchar,"+ "PRIMARY KEY (time))";String sqlDB = "CREATE TABLE IF NOT EXISTS gpsdata.db ("+"time varchar,"+ "version varchar,"+ "EARFCN varchar,"+ "CellId varchar,"+ "nSubFrame varchar,"+ "RSRP varchar,"+ "RSRQ varchar,"+ "NeighborCells varchar,"+ "DetectedCells varchar,"+ "NeighborCellId varchar,"+ "NeighborRSRP varchar,"+ "NeighborRSRQ varchar,"+ "PRIMARY KEY (time))";String insertGPS = "insert into gpsdata.gps("+ "time,gps_time,longitude,latitude,"+ "altitude,heading,speed,"+ "source,satellites)"+ " values(?,?,?,?,?,?,?,?,?)";String insertTA = "insert into gpsdata.ta("+"time,version,nRecords,nSubFrame,nSystemFrame,DLFrameTimingOffset,"+ "ULFrameTimingOffset,ULTimingAdvance)"+ " values(?,?,?,?,?,?,?,?)";String insertDB = "insert into gpsdata.db("+"time,version,EARFCN,"+ "CellId,nSubFrame,RSRP,"+ "RSRQ,NeighborCells,DetectedCells,"+ "NeighborCellId,NeighborRSRP,NeighborRSRQ)"+ " values(?,?,?,?,?,?,?,?,?,?,?,?)";String sql = null, insert=null;if(name=="GPS"){sql = sqlGPS;insert = insertGPS;}else if(name=="TA"){sql = sqlTA;insert = insertTA;}else if(name=="DB"){sql = sqlDB;insert = insertDB;}getSession().execute(sql);PreparedStatement psta = getSession().prepare(insert);                     BoundStatement boundSta = new BoundStatement(psta);        for(int k=0;k<n;k++){File file = new File("H:\\项目数据\\Zhengye_Drive_Testing_Data\\"+ fileName[k]);try {FileInputStream fis = new FileInputStream(file);InputStreamReader isr = new InputStreamReader(fis);BufferedReader br = new BufferedReader(isr);String line = null;if (name == "GPS") {while ((line = br.readLine()) != null) {String s = line.trim();if (s.contains("3D GPS Info")) {String data[] = new String[9];data[0] = s.substring(0, 25);int i = 0;while (i < 1 && (line = br.readLine()) != null) {if (!line.equals("")) {data[1] = line.split("=")[1].trim();// System.out.println(line.trim());i++;}}// System.out.println(s);i = 0;while (i < 7 && (line = br.readLine()) != null) {if (!line.equals("")) {data[i + 2] = line.split("=")[1].trim();// System.out.println(line.trim());i++;}}getSession().execute(boundSta.bind(data[0], data[1], data[2],data[3], data[4], data[5], data[6],data[7], data[8]));}}} else if (name == "TA") {while ((line = br.readLine()) != null) {String s = line.trim();if (s.contains("LTE LL1 Serving Cell Frame Timing")) {String data[] = new String[8];data[0] = s.substring(0, 25);// System.out.println(s);int i = 0;while (i < 7 && (line = br.readLine()) != null) {if (!line.equals("")) {data[i + 1] = line.split("=")[1].trim();// System.out.println(line.trim());i++;}}getSession().execute(boundSta.bind(data[0], data[1], data[2],data[3], data[4], data[5], data[6],data[7]));}}} else if(name=="DB"){while ((line = br.readLine()) != null) {String s = line.trim();if (s.contains("LTE ML1 Connected Mode LTE Intra-Freq Meas Results")) {String data[] = new String[12];data[9] = "";data[10] = "";data[11] = "";data[0] = s.substring(0, 25);// System.out.println(s);int i = 0;while (i < 8 && (line = br.readLine()) != null) {if (!line.equals("")) {data[i + 1] = line.split("=")[1].trim();// System.out.println(line.trim());i++;}}int i1 = 0;while (i1 < 6 && (line = br.readLine()) != null) {i1++;};while ((line = br.readLine()) != null&& line.contains("|")) {// System.out.println(line);data[i + 1] += line.split("\\|")[2].trim()+ " ";data[i + 2] += line.split("\\|")[3].trim()+ " ";data[i + 3] += line.split("\\|")[4].trim()+ " ";}// System.out.println(data[9]);
                            getSession().execute(boundSta.bind(data[0], data[1], data[2],data[3], data[4], data[5], data[6],data[7], data[8], data[9],data[10], data[11]));}}}System.out.println(fileName[k]+"插入成功!");} catch (FileNotFoundException e) {// TODO Auto-generated catch block
                e.printStackTrace();} catch (IOException e) {// TODO Auto-generated catch block
                e.printStackTrace();}}}//查询TA数据public void loadTAData() {String select = "select* from gpsdata.ta";ResultSet resultSet = getSession().execute(select);int count=0;for (Row row : resultSet) {System.out.println("time: "+row.getString("time"));System.out.println("version: "+row.getString("version"));System.out.println("nRecords: "+row.getString("nrecords"));System.out.println("nSubFrame: "+row.getString("nsubframe"));System.out.println("nSystemFrame: "+row.getString("nsystemframe"));System.out.println("DLFrameTimingOffset: "+row.getString("dlframetimingoffset"));System.out.println("ULFrameTimingOffset: "+row.getString("ulframetimingoffset"));System.out.println("ULTimingAdvance: "+row.getString("ultimingadvance")); System.out.println("=========================================================");count++;}System.out.println("行数:"+count);}//查询DB数据public void loadDBData() {String select = "select* from gpsdata.db";ResultSet resultSet = getSession().execute(select);int count=0;for (Row row : resultSet) {System.out.println("time: "+row.getString("time"));System.out.println("version: "+row.getString("version"));System.out.println("EARFCN: "+row.getString("earfcn"));System.out.println("CellId: "+row.getString("cellid"));System.out.println("nSubFrame: "+row.getString("nsubframe"));System.out.println("RSRP: "+row.getString("rsrp"));System.out.println("RSRQ: "+row.getString("rsrq"));System.out.println("NeighborCells: "+row.getString("neighborcells")); System.out.println("DetectedCells: "+row.getString("detectedcells")); System.out.println("NeighborCellId: "+row.getString("neighborcellid")); System.out.println("NeighborRSRP: "+row.getString("neighborrsrp")); System.out.println("NeighborRSRQ: "+row.getString("neighborrsrq"));System.out.println("=========================================================");count++;}System.out.println("行数:"+count);}//查询GPS数据public void loadGPSData() {String select = "select* from gpsdata.gps";ResultSet resultSet = getSession().execute(select);int count=0;for (Row row : resultSet) {System.out.println("time: "+row.getString("time"));System.out.println("gps_time: "+row.getString("gps_time"));System.out.println("longitude: "+row.getString("longitude"));System.out.println("latitude: "+row.getString("latitude"));System.out.println("altitude: "+row.getString("altitude"));System.out.println("heading: "+row.getString("heading"));System.out.println("speed: "+row.getString("speed"));System.out.println("source: "+row.getString("source"));System.out.println("satellites: "+row.getString("satellites")); System.out.println("=========================================================");count++;}System.out.println("行数:"+count);}public void close() {cluster.close();System.out.println("程序正常关闭!");}public static void main(String[] args) {QueryAndUpdateData client = new QueryAndUpdateData();client.connect("127.0.0.1");
//        client.insertData("DB");
//        client.loadTAData();
        client.loadDBData();
//        client.loadGPSData();
        client.session.close();client.close();}
}

参考链接:

Cassandra 2.x中文教程(22):使用Java驱动操作Cassandra

用Java实现向Cassandra数据库中插入和查询数据相关推荐

  1. Java程序向MySql数据库中插入的中文数据变成了问号

    找到mysql的安装目录,修改my.ini文件 (1)如何找到my.ini文件 如果my.ini文件不在MySQL的安装目录下,可能放在隐藏目录,要先去找到ProgramData,(这里要先打开显示隐 ...

  2. java向mysql写入数据慢_通过java代码往mysql数据库中写入日期相关数据少13个小时...

    通过show variables like '%time_zone%'; 查看时区: CST 时区 名为 CST 的时区是一个很混乱的时区,有四种含义: 美国中部时间 Central Standard ...

  3. 用Java向SQL Server数据库中插入float数据报错An error occurred while converting the Float value to JDBC data type

    作者:翁松秀 用Java向SQL Server数据库中插入float数据报错 用Java向SQL Server数据库中插入float数据报错 报错信息: 报错原因: 解决方案: 报错信息: An er ...

  4. mysql十万条数据_2秒内向数据库中插入十万条数据?

    怎么向数据库中快速插入十万条数据呢,当然得需要对比才能看到效果,今天给大家亲身测了两种方法对比,差别25倍左右 1,数据库用sql server 2008 r2,表结构非常简单,四个字段,建数据表的s ...

  5. Oracle数据库中插入日期型数据

    如果插入Oracle的当前系统时间可以用 SYSDATE INSERT INTO FLOOR VALUES ( SYSDATE ) ; 往Oracle数据库中插入日期型数据(to_date的用法) 今 ...

  6. 博图WINCC报表(SQL数据库的建立,TIA_wincc在数据库中保存和查询数据,调用Excel模板把数据保存到指定的位置)

    这里写目录标题 目录 一.概述 1.1 前言 1.2 主要功能 1.3 使用的软件 二. SQL server建库和建表 2.1.SQL server建库 2.2SQL server建表 三.建立wi ...

  7. JDBC向数据库中插入BLOB类型数据

    目录 1.Blob介绍 2.使用PreparedStatement向数据表中插入Blob类型字段 3.从数据表中读取Blob类型数据 4.特殊情况说明 1.Blob介绍 Blob是一种二进制数据文件, ...

  8. java向Oracle数据库中插入blob字段数据

    java不能直接想插入其他普通类型数据一样插入blob字段数据,因为blob相当于一个大文件块,里面有游标,需要初始化blob游标才能插入数据.所以我们要先插入一个空的blob数据,以初始化游标,然后 ...

  9. 向SQL Server数据库中插入日期型数据

    数据库中字段类型是:datetime 1.采用java.util.Date类 import java.sql.Connection; import java.util.Date; import jav ...

  10. [ES7版本系列(二)] Java连接ElasticSearch向索引中插入新的数据

    1.引入依赖,这里使用的是es的7以上的版本,使用elasticsearch-rest-high-level-client 高级别API来创建客户端 <!-- https://mvnreposi ...

最新文章

  1. Java之相对路径找不到文件问题解决方法
  2. 树模型为什么是不能进行梯度下降
  3. 生产力再提速,618 互动项目进化之路
  4. 536. Construct Binary Tree from String 从括号字符串中构建二叉树
  5. Cortex-M3-栏目-文章来源
  6. Python 项目实践三(Web应用程序)第四篇
  7. wps怎么旋转页面_用WPS文字编辑一份试卷,详细教程来了,老师们赶快收藏吧
  8. android调用.Net WebService传递byte[]
  9. Linux系统利用C语言获取网口信息(IP地址,MAC地址,状态,带宽speed等)
  10. 为您的IIS6下的网站配置Rewrite伪静态组件
  11. 【大健康】高保真交互原型模板+大健康生态问诊app+饮食运动数据血糖血压健康数据的管理移动端+在线挂号、体检预约、远程在线视频电话图文问诊医疗服务+积分商城设备管理+健康档案
  12. python定义一个数列_第二章 数列和序列类型
  13. 干货分享:Neutron的PPT,帮助你理解Neutron的各种细节
  14. 算法笔记_面试题_数组/链表/跳表/各种数据结构复杂度对比
  15. Codeforces Education Round 11
  16. 软考-嵌入式系统设计师-笔记:嵌入式系统软件基础知识
  17. 安卓百度地图开发代码
  18. PHP用Socket上传图片
  19. 135.如何进行离线计算-1
  20. 面试经验 - 如何进行项目介绍?

热门文章

  1. atitit.压缩算法 ZLib ,gzip ,zip 最佳实践 java .net php
  2. paip.c++ qt 网页爬虫 的 网络编程 总结
  3. paip.ecshop邮件模板修改一个密码找回 一个留言回复
  4. Python: str、datetime、time、seconds
  5. (转)200亿美元比特币找不到主人,这个邪恶职业一夜爆火
  6. Julia: 引用、copy与数组
  7. SRS为何加入木兰社区孵化?
  8. 90 亿美元的“Java 第一版权案”终落幕:谷歌胜!
  9. 新兴IT企业特斯拉(八)——自动辅助驾驶
  10. 2022美国大学生数学建模竞赛D题思路