1)Reading the file line by line and split that line using
StringTokenizer and insert into database.
2)using regular expressions in Java .
Example 1:
Step 1:
File CsvFile =new File("File Path"); FileReader inpFile = new FileReader(CsvFile); BufferedReader inpReader = new BufferedReader(inpFile); String inpLine;
Step 2:
//Reading file line by line while ((inpLine = inpReader.readLine()) != null) { String[] Feilds = inpLine.split(",\\s*"); //Specify delimiter DoInsertIntoDB(Feilds); //Calling method to insert in Database }
Step 3:
//Inserting In Database public void DoInsertIntoDB(String[] inpFeilds) { String Query="insert into emp(id,name)values(?,?)"; PreparedStatement InsST=connection.prepareStatement(Query); for (int i = 0; i < inpFeilds.length; i++) { inpFeilds[i] = inpFeilds[i].replace("\"", ""); } InsST.setString(1, inpFeilds[0]); InsST.setString(1, inpFeilds[2]); InsST.executeUpdate(); }Explanation:
In this example i have read the csv file line by line and split the line using StringTokenizer In StringTokenizer i have specified , as my delimeter. so you can specify whatever delimiter you want.Disadvantages:
1) If the data in the csv file like "author1,author2" then the above example will read the line and split it into two strings and inserts it into two different columns. but you need these full string to be in single column. so you can achieve this using regular expression.
No comments:
Post a Comment