• 过滤文本文档中的数据并插入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();
        }
    
    }
  • 相关阅读:
    个人项目实战
    准备
    结队项目-第一次作业
    第三次作业--团队展示
    软件工程实践第二次作业
    软件工程实践第一次作业
    circle
    calculator
    视频课程学习及学习计划
    1001.A+B Format (20)
  • 原文地址:https://www.cnblogs.com/gaopeng527/p/4758747.html
Copyright © 2020-2023  润新知