[Java] java大对象存取的简单实现 →→→→→进入此内容的聊天室

来自 , 2021-02-17, 写在 Java, 查看 126 次.
URL http://www.code666.cn/view/b296ba28
  1. package info.itlanguageexpress.LargeObject;
  2.  
  3. import java.io.File;
  4. import java.io.FileInputStream;
  5. import java.io.FileOutputStream;
  6. import java.io.IOException;
  7. import java.io.InputStream;
  8. import java.sql.Connection;
  9. import java.sql.DriverManager;
  10. import java.sql.PreparedStatement;
  11. import java.sql.ResultSet;
  12. import java.sql.SQLException;
  13. /**
  14.  * 这里不仅仅是word文件,所有大对象文件都适用
  15.  * @author Administrator
  16.  *
  17.  */
  18. public class MySqlLargeObjectAccess {
  19.  
  20.     public static String DRIVER = "org.gjt.mm.mysql.Driver";
  21.     // JDBC:mysql://localhost|IP:端口号/数据库名
  22.     public static String URL = "JDBC:mysql://localhost:3306/JustTest";
  23.     // SERVER NAME
  24.     public static String USER = "root";
  25.     // PASS WORD
  26.     public static String PASSWORD = "your password";
  27.  
  28.     public static void main(String[] args) throws Exception {
  29.         Connection conn = null;
  30.         try {
  31.             Class.forName(DRIVER);
  32.             conn = DriverManager.getConnection(URL, USER, PASSWORD);
  33.             insertWordFileToMySql(conn);
  34.             fetchWordFileFromMySql(conn);
  35.         } catch (Exception ex) {
  36.             ex.printStackTrace(System.out);
  37.         } finally {
  38.             try {
  39.                 conn.close();
  40.             } catch (Exception ex) {
  41.             }
  42.         }
  43.     }
  44.     /**
  45.      * 存word
  46.      * @param conn
  47.      * @throws SQLException
  48.      * @throws IOException
  49.      */
  50.     public static void insertWordFileToMySql(Connection conn)
  51.             throws SQLException, IOException {
  52.         PreparedStatement pstm = conn
  53.                 .prepareStatement("insert into wordInputTest values (?,?)");
  54.         // fileName
  55.         pstm.setString(1, "docx1");
  56.         InputStream in = new FileInputStream("F:" + File.separator
  57.                 + "test1.docx");
  58.         // file
  59.         pstm.setBinaryStream(2, in, in.available());
  60.         pstm.executeUpdate();
  61.         pstm.close();
  62.     }
  63.     /**
  64.      * 取word
  65.      * @param conn
  66.      * @throws SQLException
  67.      * @throws IOException
  68.      */
  69.     public static void fetchWordFileFromMySql(Connection conn)
  70.             throws SQLException, IOException {
  71.         PreparedStatement pstm = conn
  72.                 .prepareStatement("select * from wordInputTest where fileName = ?");
  73.         pstm.setString(1, "docx1");
  74.         ResultSet rs = pstm.executeQuery();
  75.         int count = 1;
  76.         while(rs.next()) {
  77.             //file为存储文件列的name
  78.             InputStream in = rs.getBinaryStream("file");
  79.             FileOutputStream out = new FileOutputStream("F:" + File.separator + "testcopy" + count + ".docx");
  80.             byte[] b = new byte[1024];
  81.             int len = 0;
  82.             while ((len = in.read(b)) != -1) {
  83.                 out.write(b, 0, len);
  84.                 out.flush();
  85.             }
  86.             out.close();
  87.             in.close();
  88.             count++;
  89.         }
  90.         rs.close();
  91.         pstm.close();
  92.     }
  93. }
  94. //java/5715

回复 "java大对象存取的简单实现"

这儿你可以回复上面这条便签

captcha