Mega Code Archive

 
Categories / Java Tutorial / Database
 

Use PreparedStatement setCharacterStream()

import java.io.BufferedReader; import java.io.File; import java.io.FileReader; import java.io.Reader; import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.Statement; public class Main {   public static void main(String[] args) throws Exception {     Connection conn = getConnection();     Statement stmt = conn.createStatement();     stmt.executeUpdate("create table survey (id int, name BINARY);");     String sql = "INSERT INTO survey (name) VALUES(?)";     PreparedStatement pstmt = conn.prepareStatement(sql);          File file = new File("yourFileName.txt");     long fileLength = file.length();     Reader fileReader = (Reader) new BufferedReader(new FileReader(file));     pstmt.setCharacterStream(1, fileReader, (int)fileLength);     int rowCount = pstmt.executeUpdate();     ResultSet rs = stmt.executeQuery("SELECT * FROM survey");     while (rs.next()) {       System.out.println(rs.getBytes(2));     }     rs.close();     stmt.close();     conn.close();   }   private static Connection getConnection() throws Exception {     Class.forName("org.hsqldb.jdbcDriver");     String url = "jdbc:hsqldb:mem:data/tutorial";     return DriverManager.getConnection(url, "sa", "");   } }