Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/57.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
从java中读取带有倒逗号的csv文件,但我希望不带倒逗号_Java_Mysql_Csv - Fatal编程技术网

从java中读取带有倒逗号的csv文件,但我希望不带倒逗号

从java中读取带有倒逗号的csv文件,但我希望不带倒逗号,java,mysql,csv,Java,Mysql,Csv,我正在从java读取CSV文件并插入数据库mysql,在读取CSV文件时,我得到的数据带有倒逗号,但我想读取没有倒逗号的数据。有人能帮我吗 “03_lab3_lsi1_kw”,“06-02-2017 12:02:13”,7243.732,142772501540.0694 这是我的密码: package com.savecsvtopostgres; import java.io.BufferedReader; import java.io.FileReader; import java.io.

我正在从java读取CSV文件并插入数据库mysql,在读取CSV文件时,我得到的数据带有倒逗号,但我想读取没有倒逗号的数据。有人能帮我吗

“03_lab3_lsi1_kw”,“06-02-2017 12:02:13”,7243.732,142772501540.0694

这是我的密码:

package com.savecsvtopostgres;

import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;

public class SaveCsvDataToPostgres {

    List<OauthResponse> responseList = new ArrayList<OauthResponse>();

    public static void main(String[] args){

        BufferedReader csvBuffer = null;
        List<OauthResponse> csvlist = new ArrayList<OauthResponse>();

        try {
            String csvLine;
            csvBuffer = new BufferedReader(new FileReader("C:\\Users\\DVSabareesh\\testresults.csv"));

            while ((csvLine = csvBuffer.readLine()) != null) {
                System.out.println("Raw CSV data: " + csvLine);
                OauthResponse oauthResponse = csvtoArrayList(csvLine);
                csvlist.add(oauthResponse);
            }
            insert(csvlist);
            System.out.println("Converted ArrayList data: " + csvlist.size() + "\n");
        } catch (IOException e) {
            e.printStackTrace();
        } catch (SQLException e) {
            e.printStackTrace();
        } finally {
            try {
                if (csvBuffer != null) csvBuffer.close();
            } catch (IOException exception) {
                exception.printStackTrace();
            }
        }
    }

    // Utility which converts CSV to ArrayList using Split Operation
    public static OauthResponse csvtoArrayList(String csvLine) {
        OauthResponse oauthResponse = new OauthResponse();

        if (csvLine != null) {
            String[] splitData = csvLine.split(",");
            int datalength = splitData.length;
            System.out.println(datalength);

            oauthResponse.setId(splitData[0]);
            oauthResponse.setValue2(splitData[1]);
            oauthResponse.setTicketName(splitData[2]);
            oauthResponse.setTicketResponse(splitData[3]);
            oauthResponse.setResponseId(splitData[4]);
            oauthResponse.setResponseMessage(splitData[5]);
            oauthResponse.setOperations(splitData[6]);
            oauthResponse.setFileType(splitData[7]);
            oauthResponse.setBooleanValue(splitData[8]);
            oauthResponse.setId2(splitData[9]);
            oauthResponse.setId3(splitData[10]);
            oauthResponse.setOauthUrl(splitData[11]);
            if(datalength == 13){
                oauthResponse.setValue13(splitData[12]);    
            }else{
                oauthResponse.setValue13("");
            }
        }
        return oauthResponse;
    }

    // Utility which used to insert data into postgres
    public static void insert(List<OauthResponse> responseList) throws SQLException {
        Connection dbConnection = null;
        PreparedStatement ps = null;
        try {
            dbConnection = getDBConnection(); 
            dbConnection.setAutoCommit(false);
            String query = "INSERT INTO csvvalues("
                    + "testgeneratorid, "
                    + "ticketvalues1, "
                    + "ticketname, "
                    + "ticketresponsecode, "
                    + "ticketresponsemessage, "
                    + "testcaseresults, "
                    + "resultformat, "
                    + "booleanresult, "
                    + "ticketvalues2, "
                    + "ticketvalues3, "
                    + "oauthurl, "
                    + "ticketvalues4, "
                    + "ticketvalues5) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)";
            ps = dbConnection.prepareStatement(query);

            System.out.println("Records are getting inserted into TestSuiteResults.TestCase table!");

            for(OauthResponse res : responseList){
                ps.setString(1,res.getId());
                ps.setString(2,res.getValue2());
                ps.setString(3,res.getTicketName());
                ps.setString(4,res.getTicketResponse());
                ps.setString(5,res.getResponseId());
                ps.setString(6,res.getResponseMessage());
                ps.setString(7,res.getOperations());
                ps.setString(8,res.getFileType());
                ps.setString(9,res.getBooleanValue());
                ps.setString(10,res.getId2());
                ps.setString(11,res.getId3());
                ps.setString(12,res.getOauthUrl());
                ps.setString(13,res.getValue13());
                ps.addBatch();
            }
            ps.executeBatch();
            dbConnection.commit();
            System.out.println("Record is inserted into DBUSER table!");
        } catch (SQLException e) {
            e.getNextException().printStackTrace();
            dbConnection.rollback();
        } finally {
            if (ps != null) {
                ps.close();
            }
            if (dbConnection != null) {
                dbConnection.close();
            }
        }
    }

    // Utility which gets connection to postgres
    public static Connection getDBConnection() {
        Connection dbConnection = null;
        try {
            //Class.forName("org.postgresql.Driver");
            //dbConnection = DriverManager.getConnection(
                    //"jdbc:postgresql://localhost:5432/Database4TesSuitetResults", "postgres", "santhosh");
            Class.forName("com.mysql.jdbc.Driver");
            dbConnection = DriverManager.getConnection(
                    "jdbc:mysql://localhost:3309/csv","root","system");

            System.out.println("DB connected");
            return dbConnection;
        } catch (SQLException | ClassNotFoundException e) {
            System.out.println(e.getMessage());
        }
        return dbConnection;
    }
}
package com.savecsvtopostgres;
导入java.io.BufferedReader;
导入java.io.FileReader;
导入java.io.IOException;
导入java.sql.Connection;
导入java.sql.DriverManager;
导入java.sql.PreparedStatement;
导入java.sql.SQLException;
导入java.util.ArrayList;
导入java.util.List;
公共类SaveCsvDataToPostgres{
List responseList=new ArrayList();
公共静态void main(字符串[]args){
BufferedReader csvBuffer=null;
List csvlist=new ArrayList();
试一试{
弦线;
csvBuffer=new BufferedReader(新文件阅读器(“C:\\Users\\DVSabareesh\\testresults.csv”);
而((csvLine=csvBuffer.readLine())!=null){
System.out.println(“原始CSV数据:“+csvLine”);
OauthResponse OauthResponse=csvtoArrayList(csvLine);
csvlist.add(oauthResponse);
}
插入(csvlist);
System.out.println(“转换的ArrayList数据:“+csvlist.size()+”\n”);
}捕获(IOE异常){
e、 printStackTrace();
}捕获(SQLE异常){
e、 printStackTrace();
}最后{
试一试{
如果(csvBuffer!=null)csvBuffer.close();
}捕获(IOException异常){
异常。printStackTrace();
}
}
}
//使用拆分操作将CSV转换为ArrayList的实用程序
公共静态OauthResponse csvtoArrayList(字符串csvLine){
OauthResponse OauthResponse=新的OauthResponse();
if(csvLine!=null){
字符串[]splitData=csvLine.split(“,”);
int datalength=splitData.length;
System.out.println(数据长度);
setId(splitData[0]);
oauthResponse.setValue2(splitData[1]);
setTicketName(splitData[2]);
oauthResponse.setTicketResponse(splitData[3]);
setResponseId(splitData[4]);
setResponseMessage(splitData[5]);
setOperations(splitData[6]);
setFileType(splitData[7]);
oauthResponse.setBooleanValue(splitData[8]);
setId2(splitData[9]);
setId3(splitData[10]);
setOauthUrl(splitData[11]);
如果(数据长度==13){
oauthResponse.setValue13(splitData[12]);
}否则{
oauthResponse.setValue13(“”);
}
}
返回oauthResponse;
}
//用于将数据插入postgres的实用程序
公共静态void insert(列表响应列表)引发SQLException{
连接dbConnection=null;
PreparedStatement ps=null;
试一试{
dbConnection=getDBConnection();
dbConnection.setAutoCommit(false);
String query=“插入CSV值(”
+testgeneratorid
+票面价值1
+“票名,”
+“ticketresponsecode,”
+“ticketresponsemessage,”
+“testcaseresults,”
+结果格式
+“布尔结果,”
+“票券价值2,”
+票面价值3
+“阿乌瑟尔,”
+票面价值4
+“票证价值5)价值(?,,,,,,,,,,,,,,,,,,,,,,,)”;
ps=dbConnection.prepareStatement(查询);
System.out.println(“正在将记录插入TestSuiteResults.TestCase表中!”);
for(OauthResponse res:responseList){
ps.setString(1,res.getId());
ps.setString(2,res.getValue2());
ps.setString(3,res.getTicketName());
ps.setString(4,res.getTicketResponse());
ps.setString(5,res.getResponseId());
ps.setString(6,res.getResponseMessage());
ps.setString(7,res.getOperations());
ps.setString(8,res.getFileType());
ps.setString(9,res.getBooleanValue());
ps.setString(10,res.getId2());
ps.setString(11,res.getId3());
ps.setString(12,res.getoauthull());
ps.setString(13,res.getValue13());
ps.addBatch();
}
ps.executeBatch();
dbConnection.commit();
System.out.println(“记录被插入到DBUSER表中!”);
}捕获(SQLE异常){
e、 getNextException().printStackTrace();
dbConnection.rollback();
}最后{
如果(ps!=null){
ps.close();
}
if(dbConnection!=null){
dbConnection.close();
}
}
}
//获取到postgres连接的实用程序
公共静态连接getDBConnection(){
连接dbConnection=null;
试一试{
//Class.forName(“org.postgresql.Driver”);
//dbConnection=DriverManager.getConnection(
//“jdbc:postgresql://localhost:5432/Database4TesSuitetResults“,”博士后“,”桑托什“;
Class.forName(“com.mysql.jdbc.Driver”);
dbConnection=DriverManager.getConnection(
“jdbc:mysql://localhost:3309/csv","根","系";;
System.out.println(“DB连接”);
返回数据库连接;
}catch(SQLException | ClassNotFoundException
String s = "your input string";
    CSVReader csvfile = new CSVReader("FilePath\\.csv");

    String[] csvdata = csvfile.readnext(); // To read the row one by one
// Read all row from csv     
List<String[]> csvdata1 = csvfile.readAll(); //To Read all data from csv file
     String[] csvdata = csvdata1.get(0);//Read first row