jdbc往mysql读取大文本文件

来源:互联网 发布:淘宝店代理货源怎么找 编辑:程序博客网 时间:2024/05/07 15:45
package jdbc;import java.io.File;import java.io.FileReader;import java.io.FileWriter;import java.io.Reader;import java.sql.Connection;import java.sql.PreparedStatement;import java.sql.ResultSet;import org.junit.Test;import utils.JdbcUtil;public class TestClob {//读取本地文件写到数据库@Testpublic void add() {Connection conn = null;PreparedStatement st = null;ResultSet rs = null;try {conn = JdbcUtil.getConnection();String sql = "insert into testclob(content) values(?)";st = conn.prepareStatement(sql);String path = TestClob.class.getClassLoader().getResource("1.txt").getPath();File file = new File(path);st.setCharacterStream(1, new FileReader(file), file.length());int num = st.executeUpdate();if (num > 0) {System.out.println("插入成功!!!");}} catch (Exception e) {throw new RuntimeException(e);} finally {JdbcUtil.release(conn, st, rs);}}//读取文件写到本地硬盘@Testpublic void read(){Connection conn = null;PreparedStatement st = null;ResultSet rs = null;try{conn = JdbcUtil.getConnection();String sql = "select content from testclob where id = 3";st = conn.prepareStatement(sql);rs = st.executeQuery();if(rs.next()){FileWriter out = new FileWriter("d:\\1.java");Reader reader = rs.getCharacterStream("content");char buffer[]= new char[1024];int len = 0;while((len=reader.read(buffer))>0){out.write(buffer, 0, len);}out.close();reader.close();}}catch(Exception e){throw new RuntimeException(e);}finally{JdbcUtil.release(conn, st, rs);}}}
//工具类
package utils;import java.io.InputStream;import java.sql.Connection;import java.sql.DriverManager;import java.sql.PreparedStatement;import java.sql.ResultSet;import java.sql.SQLException;import java.util.Properties;public class JdbcUtil {private static String password;private static String username;private static String url;static {try {InputStream in = JdbcUtil.class.getClassLoader().getResourceAsStream("db.properties");Properties pr = new Properties();pr.load(in);username=pr.getProperty("username");url = pr.getProperty("url");password = pr.getProperty("password");String driver = pr.getProperty("driver");Class.forName(driver);} catch (Exception e) {throw new RuntimeException(e);}}public static Connection getConnection() throws SQLException {return DriverManager.getConnection(url, username, password);}public static void release(Connection conn, PreparedStatement st, ResultSet rs) {if(rs!=null){try{rs.close();}catch (Exception e){throw new RuntimeException(e);}rs = null;}if(st != null){try{st.close();}catch (Exception e){throw new RuntimeException(e);}st = null;}if(conn != null){try{conn.close();}catch (Exception e){throw new RuntimeException(e);}conn = null;}}}



0 0
原创粉丝点击