1. 程式人生 > >將批量xml檔案 資料批量新增…

將批量xml檔案 資料批量新增…

注:前提是把sqlite的java 驅動新增到專案

package com.joke.data;

import java.io.File;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.Statement;
import java.util.ArrayList;
import java.util.Map;

public class mysqlite {
 
 public static void main(String[] args) throws Exception {
  fileUtils f=new fileUtils();
  mysqlite m=new mysqlite();
  ArrayList list=f.getAllFile();
  System.out.println("^_^開始!");
  for (File file : list) {
   ArrayList> al=f.getContent(file);
   m.add(al);
   System.out.println(file.getName()+"ok");
  }
  
  System.out.println("^_^結束!");
 }
 public void add(ArrayList> list) throws Exception {
  String filepath="E:/jokeDb.sqlite";
  Class.forName("org.sqlite.JDBC");
  Connection conn = DriverManager.getConnection("jdbc:sqlite:/"+filepath);
  //Statement stat = conn.createStatement();
  PreparedStatement prep = conn
    .prepareStatement("insert into joke(title,content,pid) values(?,?,?);");  
   
   for (int i = 0; i < list.size(); i++) {
    Map map=list.get(i);
    prep.setString(1, map.get("t"));
    prep.setString(2, map.get("m"));
    prep.setString(3, String.valueOf(i%4+1));
    prep.addBatch();
   }

  conn.setAutoCommit(false);
  prep.executeBatch();
  conn.setAutoCommit(true);
//  ResultSet rs = stat.executeQuery("select * from joke;");
//  while (rs.next()) {
//   System.out.println("title = " + rs.getString("title"));
//   System.out.println("content = " + rs.getString("content"));
//   System.out.println("pid = " + rs.getString("pid"));
//  }
//  rs.close();
  conn.close();
 }
}
檔案處理類:

package com.joke.data;

import java.io.File;
import java.io.FileInputStream;
import java.io.FilenameFilter;
import java.io.IOException;
import java.nio.charset.Charset;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Map;

import org.w3c.dom.Element;
import org.w3c.dom.Node;
import org.w3c.dom.NodeList;

import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.parsers.ParserConfigurationException;

import org.w3c.dom.Document;
import org.xml.sax.SAXException;

public class fileUtils {

 public ArrayList> getContent(File f) {
  ArrayList> list = null;
  DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
  try {
   DocumentBuilder db = dbf.newDocumentBuilder();
   Document doc = db.parse(f);
   Element root = doc.getDocumentElement();
   NodeList jokelist = root.getElementsByTagName_r("joke");
   if (jokelist.getLength() > 0) {
    list = new ArrayList>();
    for (int i = 0; i < jokelist.getLength(); i++) {
     Node e = jokelist.item(i);
     Map m = new HashMap();
     NodeList nl = e.getChildNodes();
     for (int j = 0; j < nl.getLength(); j++) {
      Node no = nl.item(j);
      if (no.getNodeName() == "title") {
       if (no.getTextContent() != "")
        m.put("t", no.getTextContent());
      }
      if (no.getNodeName() == "text") {
       if (no.getTextContent() != "")
        m.put("m", no.getTextContent());
      }
     }
     if(m.get("m")!=null&&m.get("m")!="")
      list.add(m);
    }
   }
  } catch (ParserConfigurationException e) {
   // TODO Auto-generated catch block
   e.printStackTrace();
  } catch (SAXException e) {
   // TODO Auto-generated catch block
   e.printStackTrace();
  } catch (IOException e) {
   // TODO Auto-generated catch block
   e.printStackTrace();
  }
  return list;
 }

 public ArrayList getAllFile() {
  ArrayList list = null;
  try {
   

相關推薦

批量xml檔案 資料批量新增

注:前提是把sqlite的java 驅動新增到專案 package com.joke.data; import java.io.File; import java.sql.Connection; import java.sql.DriverManager; import java.sql.Prepar

java實現大批量json檔案資料去重

上週從資料採集部門拿到一批400份的json檔案,每個檔案裡30w+的json物件,物件裡有uid,對重複的uid,需要去重下. 本人電腦4核8G已經不能滿足了,總是記憶體不夠用.所以在伺服器上寫了一下(配置8核128G)  ,結果讀取檔案以及去重都沒問題, 在最後的寫入是又是

Python批量Excel檔案資料匯入SQLite資料庫的優化方案

說明:1)需要安裝擴充套件庫openpyxl;2)隨著資料庫的增大,匯入速度可能會有所下降;3)本文只考慮Python程式碼優化,沒有涉及資料庫的優化;4)本文要點在於使用executemany實現批

GBK編碼形式的xml檔案 資料請求轉為utf-8

public String resposeString(String urlStr){ String result = ""; try { URL url = new URL(urlStr); HttpURLConnection httpURLC

.NET Core使用NPOIExcel中的資料批量匯入到MySQL

前言:   在之前的幾篇部落格中寫過.NET Core使用NPOI匯出Word和Excel的文章,今天把同樣我們日常開發中比較常用的使用Excel匯入資料到MySQL資料庫中的文章給安排上。與此同時還把NPOI-ExportWordAndExcel-ImportExcelData這個開源專案升級到了.NET

java讀取xml檔案資料

import java.io.File; import javax.xml.parsers.DocumentBuilder; import javax.xml.parsers.DocumentBuilderFactory; import o

Java之DOM4J解析XML 實現 XML檔案資料的增刪改查方法

下面是我的Persons.xml檔案資料 <?xml version="1.0" encoding="utf-8"?> <persons> <person id="0"> <name>翠花</name>

XML學習總結(三)——SAXReader解析xml檔案資料

第一種方式:1. 加入jar包注意    1.1 xml檔案解析時編碼要一致(預設UTF-8),出現報錯可以在記事本中另存為來更改編碼格式。     2.2 jar包兩個都需要。2.gao.xml資料如下:<?xml version="1.0" encoding="UT

C#讀取XML檔案資料和把資料儲存至xml的方法

原文在百度知道中,來源於多個網友。 新浪微博:http://blog.sina.com.cn/s/blog_ad7fd0f4010180md.html (一) 儲存 var xml =XElement.Load(@"路徑");xml.Element("節點名字").AddA

XML檔案進行的新增、刪除、修改、查詢操作。

整個類 和 xml 以及其他檔案中在包中的位置如下圖:本程式碼需要匯入包jaxen-1.1-beta-6.jar  dom4j-1.6.1.jar ui 表現層:StudentUI2 程式碼如下: package test2.ui; import java.io.Bu

java中使用Xpath讀取XML檔案資料

package maven_test; import java.io.FileInputStream; import java.util.List; import org.dom4j.Document; import org.dom4j.Element; import o

其他庫中的表的資料批量插入新增到另一個庫的表中

jkdb.factory中的jkdb為資料庫,factory為表名 兩張表的欄位和欄位型別需要一致。 INSERT INTO jkdb.factory SELECT id, name, sex

按照一定的規格XML檔案中的內容批量匯入至資料庫中

一、前臺點選按鈕 <li> asp:Button ID="ImportMember" runat="server" CssClass="btn btn-primary" Text="匯入會員" /> </li> 二、後臺按鈕宣告、編

c# datatable資料批量新增到資料庫

Class1 c1 = new Class1(); public void pldr1(DataTable dt1,string s1)         {             //將dt1匯入到指定表,s1為要目標表名,dt1為要匯入的資料            

批量修改xml檔案節點資訊

今天來說說xml那些事兒.如何批量修改指定資料夾下的xml檔案的指定屬性.分三步走,首先,我們先看看如何讀寫單個 的xml檔案;第二步,來看看如何遍歷指定資料夾下的所有檔案,獲取到所有檔案的檔名;第三步,我們來看看一二之間 該如何銜接.好,lets d

根據資料批量生成excel檔案

第一步匯入依賴: <!--excel支援--> <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi-ooxml</artifactId

如何批量、快速從MySQL節點和關係資料匯入neo4j

0 Neo4j簡介 安裝好neo4j後,啟動服務,可以訪問地址http://127.0.0.1:7474/browser/看到以下介面,點選*號,就可以看到至多50個節點了。 這是neo4j的主介面,通過查詢資料節點的相關屬性、標籤和關係,即時的把節點間存在的關係展示出來。 neo4

如何使用python對資料夾中的檔案進行批量改名(增、刪、改字串欄位)

【時間】2018.10.12 【題目】如何使用python對資料夾中的檔案進行批量改名(增、刪、改字串欄位)   【問題描述】今天需要對資料夾中的檔案進行批量改名,主要是因為名字中多出了自己不想要的字元段“data”想要將其刪除。這裡便以刪除名字中的字元段為例,至於增、改道理類

Matlab產生動態變化的字串,便於資料批量存入表格

記錄一下。 在使用Matlab跑程式的時候,需要將最後的結果存入表格,例如: xlswrite('xxx.xls',result, 'a1:i1'); 此處只儲存一行,所以 ‘result’ 是個一維向量。 上述程式碼只能適用於跑一次程式的情況。下次跑的時候,我們需要改為: xl

PHP資料庫資料批量生成word文件

<?php    class word{         function start(){            ob_s