过滤文本文档中的数据并插入Cassandra数据库
代码如下:
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.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.SQLException;
import java.sql.Statement; //过滤数据中的GPS数据
public class FilterGPSData {
static Connection con=null;
public static void insertGPS(){
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.18-07.txt"
};
for (int k = 0; k < 10; 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;
while ((line = br.readLine()) != null) {
String s = line.trim();
// String pre[] = new String[8];
// pre[0] = "GPS Time";
// pre[1] = "Longitude";
// pre[2] = "Latitude";
// pre[3] = "Altitude";
// pre[4] = "Heading";
// pre[5] = "Speed";
// pre[6] = "Source";
// pre[7] = "Satellites";
// for(int i=0;i<pre.length;i++){
// if (s.startsWith(pre[i])) {
// System.out.println(s);
// break;
// }
// } if (s.startsWith("GPS Time")) {
try {
String data[] = new String[8];
data[0] = fileName[k].substring(21, 32)+" "+s.split("=")[1].trim();
// 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++;
}
}
String insert = "insert into gpsdata.gps(gps_time,longitude,latitude,altitude,heading,speed,source,satellites)"
+ " values(?,?,?,?,?,?,?,?)";
PreparedStatement psta = con
.prepareStatement(insert);
for (int j = 0; j < 8; j++) {
psta.setString(j + 1, data[j]);
}
psta.executeUpdate();
psta.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
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();
}
}
} //连接数据库
public static void connection(){
try {
Class.forName("org.apache.cassandra.cql.jdbc.CassandraDriver");
con = DriverManager
.getConnection("jdbc:cassandra://127.0.0.1:9160/gpsdata");
String sql = "CREATE TABLE IF NOT EXISTS gpsdata.gps (gps_time varchar,longitude varchar,latitude varchar,altitude varchar,heading varchar,speed varchar,source varchar,satellites varchar,PRIMARY KEY (gps_time))";
Statement sta = con.createStatement();
sta.execute(sql);
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (SQLException e) {
System.out.println("连接断开!");
e.printStackTrace();
}
} //关闭连接
public static void disConnection(){
if(con!=null)
try {
con.close();
System.out.println("数据库连接正常关闭!");
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
} public static void main(String[] args) {
connection();
insertGPS();
disConnection();
} }
过滤文本文档中的数据并插入Cassandra数据库的更多相关文章
- python 读取文本文档中的数据
import os dir = input('Please input the file dir:')#提示输入文件路径 while not os.path.exists(dir):#判断文件是否存在 ...
- c#导出数据到csv文本文档中,数据前面的0不见了解决方法
((char)(9)).ToString() + dataRow["FUserName"].ToString().Trim() + "\t",
- 编写Java程序,读取文本文档的内容,去除文本中包含的“广告”字样,把更改后的内容保存到一个新的文本文档中
查看本章节 查看作业目录 需求说明: 读取文本文档的内容,去除文本中包含的"广告"字样,把更改后的内容保存到一个新的文本文档中 实现思路: 在main() 方法中,使用 new F ...
- Java 写一段字符到指定的文本文档中,如果该文本文档不存在,则创建该文本文档
写一段字符到指定的文本文档中,如果该文本文档不存在,则创建该文本文档 import java.io.File; import java.io.FileNotFoundException; import ...
- java从文件中读取数据然后插入到数据库表中
实习工作中,完成了领导交给的任务,将搜集到的数据插入到数据库中,代码片段如下: static Connection getConnection() throws SQLException, IOExc ...
- 使用 AWK 去掉文本文档中的空白行
在 Linux 操作系统中,可以使用 AWK 命令高效地处理文本文档.AWK 命令通过执行使用 AWK 语言编写的脚本程序,处理文本文档.AWK 脚本程序是由模式(patterns)与相关操作(cor ...
- 文本文档中各字母出现次数汇总(java)
package 字母频率统计; import java.io.*; public class Inputfile { public static void main(String args[]) { ...
- Java 单字节、多字节读取文本文档中的内容
文本文档位于工程下. 鼠标右击工程,选择“new - File”,即可创建. 文本文档的格式:GBK 单字节读取 import java.io.File; import java.io.FileInp ...
- oracle数据库中将clob字段内容利用java提取出至文本文档中
代码段: 1.执行clob转String public static String ClobToString(Clob sc) throws SQLException, IOException { S ...
随机推荐
- Nginx下Redmine2.6配置
Apache下Redmine2.6配置,请参考:http://blog.linuxeye.com/405.html CentOS6.6下安装Redmine2.6+MySQL5.6+Nginx,教程如下 ...
- C++ 16进制转10进制
#include <stdio.h>#include <string.h>unsigned long f(char* str){ unsigned long var=0; un ...
- C++ 中vector的基本用法
//在网上看了好久,自己总结了一下下,第一篇博客,呼呼,学到不少 基本概念 vector容器是一个模板类,可以存放任何类型的对象).vector对象可以在运行时高效地添加元素,并且vector中元素是 ...
- hdu 1281 棋盘游戏
http://acm.hdu.edu.cn/showproblem.php?pid=1281 棋盘游戏 Time Limit: 2000/1000 MS (Java/Others) Memory ...
- oracle学习 十二 使用.net程序调用带返回值的存储过程(持续更新)
数据库返回的是结果集,存储过程返回的是一个或者多个值,所以不要使用while循环去读取,也不要使用datareader函数去调用.v_class_name是返回函数 使用.net调用oracle数据库 ...
- HDU 1312 Red and Black DFS(深度优先搜索) 和 BFS(广度优先搜索)
Red and Black Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total ...
- HDU1963Investment(DP)
简单DP,题解见代码
- jgroups 入门
官网地址:http://www.jgroups.org/ 聊天室示例:http://www.jgroups.org/tutorial/html/ch02.html 2.1. JGroups overv ...
- 转载php在IIS中运行
在IIS中配置PHP运行环境简单步骤 安装 IIS 7.0 打开 Control Panel\Programs\Programs and Features\Turn Windows features ...
- xib上拖拽scrollview的自动布局方法
http://www.cocoachina.com/ios/20150104/10810.html