| 
     
 
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; 
 
public class DemoPreparedStatementSetCharacterStream { 
  public static Connection getConnection() throws Exception { 
    String driver = "org.gjt.mm.mysql.Driver"; 
    String url = "jdbc:mysql://localhost/databaseName"; 
    String username = "root"; 
    String password = "root"; 
    Class.forName(driver); 
    Connection conn = DriverManager.getConnection(url, username, password); 
    return conn; 
  } 
 
  public static void main(String[] args)throws Exception { 
    String fileName = "charDataFile.txt"; 
    Reader fileReader = null; 
    long fileLength = 0; 
    Connection conn = null; 
    PreparedStatement pstmt = null; 
 
    try { 
      File file = new File(fileName); 
      fileLength = file.length(); 
      fileReader = (Reader) new BufferedReader(new FileReader(file)); 
      System.out.println("fileName=" + fileName); 
      System.out.println("fileLength=" + fileLength); 
 
      conn = getConnection(); 
      // begin transaction 
      conn.setAutoCommit(false); 
      // prepare SQL query for inserting a new row using SetCharacterStream() 
      String query = "insert into char_stream_table (id, char_stream_column) values(?, ?)"; 
      // create PrepareStatement object 
      pstmt = conn.prepareStatement(query); 
      pstmt.setString(1, fileName); 
      pstmt.setCharacterStream(2, fileReader, (int) fileLength); 
      // execute query, and return number of rows created 
      int rowCount = pstmt.executeUpdate(); 
      System.out.println("rowCount=" + rowCount); 
      // end transaction 
      conn.commit(); 
    } finally { 
      pstmt.close(); 
      conn.close(); 
    } 
  } 
} 
 
            
        
    
    |