最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

JDBC編程實現(xiàn)文件、圖片的存儲方法

 更新時間:2015年10月19日 12:49:07   作者:煙大洋仔  
這篇文章主要介紹了JDBC編程實現(xiàn)文件、圖片的存儲方法,以實例形式分析了Java基于JDBC操作數(shù)據(jù)庫的相關技巧,具有一定參考借鑒價值,需要的朋友可以參考下

本文實例講述了JDBC編程實現(xiàn)文件、圖片的存儲方法。分享給大家供大家參考,具體如下:

/*
實現(xiàn)的功能:
 用數(shù)據(jù)庫存儲文本數(shù)據(jù),并且讀取出來放在當前項目里
分析:
 難度不是很大,關鍵是掌握文件流,數(shù)據(jù)庫的操作不是很多,但是文件流的讀寫比較多
日期:20131003
作者:煙大陽仔
*/
public class Ckb_test {
 public static void main(String[] args) throws SQLException, IOException {
  // TODO Auto-generated method stub
  read();
 }
 static void create() throws SQLException, IOException
 {
  Connection conn=null;
  PreparedStatement prest=null;
  ResultSet resultset=null;
  try {
   //2.建立連接
   conn=JdbcUtils.getConnection();
   //單例設計模式
   conn=JdbcUtilsSingle.getInstance().getConnection();
   //3.創(chuàng)建語句
   String sql="insert into ckb_test(text) values(?)";
   prest=conn.prepareStatement(sql);
   File file=new File("src/cn/com/JDBC/JdbcUtils.java");
   Reader reader=new BufferedReader(new FileReader(file));
   prest.setCharacterStream(1, reader, (int)file.length());
   //4.執(zhí)行語句
   int i=prest.executeUpdate();
   reader.close();
   System.out.println("i="+i);
  } finally
  {
   JdbcUtils.free(resultset, prest, conn);
  }
 }
 static void read() throws SQLException, IOException
 {
  Connection conn=null;
  Statement st=null;
  ResultSet resultset=null;
  try {
   //2.建立連接
   conn=JdbcUtils.getConnection();
   //單例設計模式
   conn=JdbcUtilsSingle.getInstance().getConnection();
   //3.創(chuàng)建語句
   st=conn.createStatement();
   //4.執(zhí)行語句
   resultset=st.executeQuery("select text from ckb_test");
   //5.處理結果
   while(resultset.next())
   {
    Clob clob=resultset.getClob(1);
    Reader reader=clob.getCharacterStream();
    //reader=resultset.getCharacterStream(1);
    File file=new File("JdbcUtils.java");
    Writer writer=new BufferedWriter(new FileWriter(file));
    char[] buff=new char[1024];
    for(int i=0;(i=reader.read(buff))>0;)
    {
     writer.write(buff,0,i);
    }
    writer.close();
    reader.close();
   }
  } finally
  {
   JdbcUtils.free(resultset, st, conn);
  }
 }
}
/*
實現(xiàn)的功能:
 用數(shù)據(jù)庫存儲圖片數(shù)據(jù),并且讀取出來放在當前項目里
分析:
 難度不是很大,關鍵是掌握字節(jié)流,數(shù)據(jù)庫的操作不是很多,但是文件流的讀寫比較多,注意更改圖片的目錄
日期:20131003
作者:煙大陽仔
*/
public class PictureBlob {
 public static void main(String[] args) throws SQLException, IOException {
  read();
 }
 static void create() throws SQLException, IOException
 {
  Connection conn=null;
  PreparedStatement prest=null;
  ResultSet resultset=null;
  try {
   //2.建立連接
   conn=JdbcUtils.getConnection();
   //單例設計模式
   conn=JdbcUtilsSingle.getInstance().getConnection();
   //3.創(chuàng)建語句
   String sql="insert into blob_test(big_bit) values(?)";
   prest=conn.prepareStatement(sql);
   File file=new File("C:\\Documents and Settings\\Administrator\\My Documents\\My Pictures\\cxg.jpg");
   InputStream in=new BufferedInputStream(new FileInputStream(file));
   prest.setBinaryStream(1, in, (int)file.length());
   //4.執(zhí)行語句
   int i=prest.executeUpdate();
   in.close();
   System.out.println("i="+i);
  } finally
  {
   JdbcUtils.free(resultset, prest, conn);
  }
 }
 static void read() throws SQLException, IOException
 {
  Connection conn=null;
  Statement st=null;
  ResultSet resultset=null;
  try {
   //2.建立連接
   conn=JdbcUtils.getConnection();
   //單例設計模式
   conn=JdbcUtilsSingle.getInstance().getConnection();
   //3.創(chuàng)建語句
   st=conn.createStatement();
   //4.執(zhí)行語句
   resultset=st.executeQuery("select big_bit from blob_test");
   //5.處理結果
   while(resultset.next())
   {
    Blob blob=resultset.getBlob(1);
    InputStream in=blob.getBinaryStream();
    //reader=resultset.getCharacterStream(1);
    File file=new File("1.jpeg");
    OutputStream out=new BufferedOutputStream(new FileOutputStream(file));
    byte[] buff=new byte[1024];
    for(int i=0;(i=in.read(buff))>0;)
    {
     out.write(buff,0,i);
    }
    out.close();
    in.close();
   }
  } finally
  {
   JdbcUtils.free(resultset, st, conn);
  }
 }
}

希望本文所述對大家Java程序設計有所幫助。

相關文章

  • java實現(xiàn)超大文件的讀寫功能

    java實現(xiàn)超大文件的讀寫功能

    這篇文章主要為大家詳細介紹了java實現(xiàn)超大文件的讀寫功能,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-05-05
  • idea之Recompile、Rebuild和Build之間的區(qū)別及說明

    idea之Recompile、Rebuild和Build之間的區(qū)別及說明

    這篇文章主要介紹了idea之Recompile、Rebuild和Build之間的區(qū)別及說明,具有很好的參考價值,希望對有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-08-08
  • SpringCloud Gateway使用詳解

    SpringCloud Gateway使用詳解

    Spring Cloud Gateway是一個基于Spring Boot 2.x和Spring WebFlux的API網(wǎng)關,可以幫助我們構建微服務架構中的統(tǒng)一入口。感興趣的同學可以參考一下
    2023-04-04
  • java暴力匹配及KMP算法解決字符串匹配問題示例詳解

    java暴力匹配及KMP算法解決字符串匹配問題示例詳解

    這篇文章主要為大家介紹了java算法中暴力匹配算法及KMP算法解決字符串匹配的問題示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步
    2021-11-11
  • Java文件讀取寫入后 md5值不變的實現(xiàn)方法

    Java文件讀取寫入后 md5值不變的實現(xiàn)方法

    下面小編就為大家分享一篇Java文件讀取寫入后 md5值不變的實現(xiàn)方法,具有很好的參考價值,希望對大家有所幫助
    2017-11-11
  • Java調用Shell命令和腳本的實現(xiàn)

    Java調用Shell命令和腳本的實現(xiàn)

    這篇文章主要介紹了Java調用Shell命令和腳本的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2021-02-02
  • Java8實現(xiàn)任意參數(shù)的鏈棧

    Java8實現(xiàn)任意參數(shù)的鏈棧

    這篇文章主要為大家詳細介紹了Java8實現(xiàn)任意參數(shù)的鏈棧,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-10-10
  • C/C++中的struct結構體詳細解讀

    C/C++中的struct結構體詳細解讀

    這篇文章主要介紹了C/C++中的struct結構體詳細解讀,結構體是由一批數(shù)據(jù)組合而成的結構型數(shù)據(jù),組成結構型數(shù)據(jù)的每個數(shù)據(jù)稱為結構型數(shù)據(jù)的“成員”,其描述了一塊內存區(qū)間的大小及意義,需要的朋友可以參考下
    2023-10-10
  • Java位掩碼控制權限與(&)或(|)非(~)、>的介紹

    Java位掩碼控制權限與(&)或(|)非(~)、>的介紹

    今天小編就為大家分享一篇關于Java位掩碼控制權限與(&)或(|)非(~)、>的介紹,小編覺得內容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧
    2019-03-03
  • Spring6.x對調度和異步執(zhí)行的注解支持示例詳解

    Spring6.x對調度和異步執(zhí)行的注解支持示例詳解

    這篇文章主要為大家介紹了Spring6.x對調度和異步執(zhí)行的注解支持示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-11-11

最新評論

巢湖市| 惠东县| 宣化县| 金昌市| 榆中县| 黄陵县| 隆安县| 乐平市| 韶山市| 宁安市| 巴楚县| 韶关市| 隆化县| 九龙县| 芜湖县| 广平县| 佛冈县| 吴桥县| 崇州市| 正镶白旗| 宽甸| 雷州市| 凉城县| 武宣县| 吐鲁番市| 尼木县| 新民市| 鄄城县| 体育| 庄河市| 修水县| 沙雅县| 循化| 仁化县| 盐源县| 汽车| 乌拉特中旗| 宝应县| 马关县| 永福县| 兴宁市|