1. package com.cniia.ny.web.control.configManage;
  2. import java.io.BufferedReader;
  3. import java.io.File;
  4. import java.io.FileReader;
  5. import java.io.IOException;
  6. import java.sql.Connection;
  7. import java.sql.DriverManager;
  8. import java.sql.PreparedStatement;
  9. import java.sql.ResultSet;
  10. import java.sql.SQLException;
  11. import java.util.ArrayList;
  12. import java.util.List;
  13. import java.util.Scanner;
  14. public class InsertIntoDB {
  15. //读取文本操作
  16. public static String[] writeToDat(String path) {
  17. File file = new File(path);
  18. List<String> list = new ArrayList<String>();
  19. String []strings = null;
  20. try {
  21. BufferedReader bw = new BufferedReader(new FileReader(file));
  22. String line = null;
  23. //因为不知道有几行数据,所以先存入list集合中
  24. while((line = bw.readLine()) != null){
  25. list.add(line);
  26. }
  27. bw.close();
  28. } catch (IOException e) {
  29. e.printStackTrace();
  30. }
  31. //确定数组长度
  32. strings = new String[list.size()];
  33. for(int i=0;i<list.size();i++){
  34. String s = (String) list.get(i);
  35. strings[i] = s;
  36. }
  37. return strings;
  38. }
  39. //连接数据库
  40. public static Connection getConnection(String data,String user,String pwd){
  41. Connection conn = null;
  42. try {
  43. Class.forName("com.mysql.jdbc.Driver");
  44. conn =
    DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/"+ data
    +"?characterEncoding=UTF-8",user , pwd);
  45. } catch (Exception e) {
  46. e.printStackTrace();
  47. }
  48. return conn;
  49. }
  50. //插入数据库,只能为一个字段
  51. public static boolean insertInto(String data,String table,String field,String user,String pwd,String []str){
  52. try {
  53. Connection conn = getConnection(data,user,pwd);
  54. conn.setAutoCommit(false);
  55. String sql = "INSERT INTO"+ table + "("+ field +") VALUES (?);";
  56. PreparedStatement pstmt = conn.prepareStatement(sql);
  57. for (int i = 0; i < str.length; i++) {
  58. pstmt.setString(1, str[i]);
  59. pstmt.executeUpdate();
  60. //                        conn.commit();
  61. }
  62. conn.commit();
  63. return true;
  64. } catch (SQLException e) {
  65. // TODO Auto-generated catch block
  66. e.printStackTrace();
  67. return false;
  68. }
  69. }
  70. public static String[] query(String data,String table,String field,String user,String pwd){
  71. try {
  72. String []str = null;
  73. int i = 0;
  74. Connection conn = getConnection(data,user,pwd);
  75. String sql = "select "+ field +" from" + table +";" ;
  76. PreparedStatement pstmt = conn.prepareStatement(sql);
  77. ResultSet rs = pstmt.executeQuery();
  78. while (rs.next()) {
  79. str[i] = rs.getString(field);
  80. i++;
  81. }
  82. return str;
  83. } catch (SQLException e) {
  84. // TODO Auto-generated catch block
  85. e.printStackTrace();
  86. return null;
  87. }
  88. }
  89. public  static void main(String[] args){
  90. String []str2 = null;
  91. String []str = null;
  92. String []str3 = null;
  93. boolean flage1 = true;
  94. boolean flage2 = true;
  95. boolean flage3 = true;
  96. System.out.println("请输入目标文件绝对路径:");
  97. Scanner sc = new Scanner(System.in);
  98. String path = sc.next();
  99. while(flage3){
  100. if (path!=null&&!path.equals("")) {
  101. flage3 = false;
  102. str = writeToDat(path);
  103. }else {
  104. System.out.println("输入不能为空");
  105. }
  106. }
  107. System.out.println("请输入所需连接的数据库名,表名,字段名(只能为一个),用户名,密码,用“#”隔开:");
  108. String strA = sc.next();
  109. while(flage1){
  110. if (strA!=null&&!strA.equals("")) {
  111. flage1 = false;
  112. while(flage2){
  113. if (strA.indexOf("#")>=0) {
  114. flage2 = false;
  115. str2 = strA.split("#");
  116. }else {
  117. System.out.println("您输入的格式有错,请重新输入");
  118. }
  119. }
  120. }else {
  121. System.out.println("输入不能为空");
  122. }
  123. }
  124. boolean b = insertInto(str2[0], str2[1], str2[2], str2[3], str2[4],str);
  125. if(b){
  126. System.out.println("插入成功!");
  127. }else {
  128. System.out.println("插入失败!");
  129. }
  130. str3 = query(str2[0], str2[1], str2[2], str2[3], str2[4]);
  131. for (int i = 0; i < str3.length; i++) {
  132. System.out.println(str3[i]);
  133. }
  134. }
  135. }

复制代码

java读取本地txt文件并插入数据库的更多相关文章

  1. sql 读取本地txt文件批量插入数据库

    --导入 INSERT INTO [netmonsdb].[dbo].[keywordlist]([keyword]) SELECT * FROM OPENROWSET( BULK 'D:/xmsys ...

  2. JAVA读取本地html文件里的html文本

    /** * 读取本地html文件里的html代码 * @param file File file=new File("文件的绝对路径") * @return */ public s ...

  3. Java读取本地json文件

    背景 之前一直在弄一个Java爬虫,将爬取的信息保存到了数据库中.但这毕竟是一个课程设计,在设计前端GUI,展示数据的时候最开始是直接通过select语句从数据库中查找的,但我担心交给老师后,老师还要 ...

  4. Python 读取本地*.txt文件 替换 内容 并保存

    # r    以只读的方式打开文件,文件的描述符放在文件的开头# w    打开一个文件只用于写入,如果该文件已经存在会覆盖,如果不存在则创建新文件 #路径path = r"D:\pytho ...

  5. java读取本地properties文件

    package cn.edu.hbcf.pojo; import java.io.FileNotFoundException; import java.io.IOException; import j ...

  6. nodejs读取本地txt文件并输出到浏览器

    var fs = require('fs'); var chrome=""; //同步执行 function tongbu(){ var data =fs.readFileSync ...

  7. js读取本地txt文件中的json数据

    list.txt内容 [ {"optionKey":"1", "optionValue":"Canon in D"}, ...

  8. Java基础-输入输出-2.编写IoDemo.java的Java应用程序,程序完成的功能是:首先读取text.txt文件内容,再通过键盘输入文件的名称为iodemo.txt,把text.txt的内容存入iodemo.txt

    2.编写IoDemo.java的Java应用程序,程序完成的功能是:首先读取text.txt文件内容,再通过键盘输入文件的名称为iodemo.txt,把text.txt的内容存入iodemo.txt ...

  9. Ajax实现xml文件数据插入数据库(二)--- ajax实现与jsp的数据交互。

    在上一篇文章中我们成功得到了重新组织后的数据,接下来需要做的便是将数据插入到数据库中了.在与数据库打交道的过程中有一些方法是普遍的,我们将这些通用方法封装到一个DbUtil类中,以便复用,封装好的Db ...

随机推荐

  1. BZOJ 1131 [POI2008]Sta(树形DP)

    [题目链接] http://www.lydsy.com/JudgeOnline/problem.php?id=1131 [题目大意] 给出一个N个点的树,找出一个点来,以这个点为根的树时,所有点的深度 ...

  2. 【点分治】Osipovsky Cup 2014 Kovrov, Sunday, December 21, 2014 Problem A. Attack and Defence

    题意:给你一棵树,每个点有一个左括号或者右括号,问你树上能够完美匹配的路径数量(l->r,r->l 视作不同路径). 点分治可以使用“不扣去重复答案”的写法,只不过,要先将每个点的子树按照 ...

  3. 【动态规划+高精度】mr360-定长不下降子序列

    [题目大意] 韵哲君发现自己的面前有一行数字,当她正在琢磨应该干什么的时候,这时候,陈凡老师从天而降,走到了韵哲君的身边,低下头,对她耳语了几句,然后飘然而去. 陈凡老师说了什么呢,陈凡老师对韵哲君说 ...

  4. [转]jquery后代和子元素的区别

    这是<锋利的jquery>书里的内容 <div>     <p>         <span></span>         <a&g ...

  5. [经验]我的电脑只有IE64位浏览器能上网,其他软件都上不了网

    [网上案例] 1.“我的电脑是VISTA 系统 昨天还好好的 进早上就显示什么Windows通信端口初始化失败 而且连不上网 求强人帮忙”2.“正常关机,第二天开机后,无法上网了所有浏览器,除了ie6 ...

  6. uva10392 Factoring Large Numbers

    uva10392 Factoring Large Numbers 本文涉及的知识点是,使用线性筛选法得到素数表. Table of Contents 1 题目 2 思路 3 参考 1 题目 ===== ...

  7. Android开发高级进阶——多进程间通信

    一. 什么是多进程? 多进程就是多个进程的意思,那么什么是进程呢? 当一个应用在开始运行时,系统会为它创建一个进程,一个应用默认只有一个进程,这个进程(主进程)的名称就是应用的包名. 进程的特点: 进 ...

  8. 如何限制jenkins的任务在某个节点上执行

    1.首先给节点打标签,一个节点可以打多个标签,中间使用空格分开 2.其次在每个任务上标记执行的标签位置,这样这个任务就在包含这些标签的节点上执行 3.通过这个方法限制的任务,只会跑在指定节点上,即是当 ...

  9. [转]SSIS ProtectionLevel 对包中敏感数据的访问控制

    本文转自:http://technet.microsoft.com/zh-cn/library/ms141747.aspx 为了保护 Integration Services 包中的数据,可以设置保护 ...

  10. 如何访问python类中的私有方法

    在python中,不像c#/java类语言,支持类的私有方法,这点有点像objc,虽然objc可以通过扩展extension来实现,但源于objc的运行时特性,我们还是可以通过非常手段来进行访问的.不 ...