一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|JAVA教程|ASP教程|

服務器之家 - 編程語言 - JAVA教程 - JDBC編程實現文件、圖片的存儲方法

JDBC編程實現文件、圖片的存儲方法

2020-01-10 16:20煙大洋仔 JAVA教程

這篇文章主要介紹了JDBC編程實現文件、圖片的存儲方法,以實例形式分析了Java基于JDBC操作數據庫的相關技巧,具有一定參考借鑒價值,需要的朋友可以參考下

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

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
/*
實現的功能:
 用數據庫存儲文本數據,并且讀取出來放在當前項目里
分析:
 難度不是很大,關鍵是掌握文件流,數據庫的操作不是很多,但是文件流的讀寫比較多
日期: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.創建語句
   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.執行語句
   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.創建語句
   st=conn.createStatement();
   //4.執行語句
   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);
  }
 }
}
/*
實現的功能:
 用數據庫存儲圖片數據,并且讀取出來放在當前項目里
分析:
 難度不是很大,關鍵是掌握字節流,數據庫的操作不是很多,但是文件流的讀寫比較多,注意更改圖片的目錄
日期: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.創建語句
   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.執行語句
   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.創建語句
   st=conn.createStatement();
   //4.執行語句
   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程序設計有所幫助。

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 91久久国产露脸精品 | 51xtv成人影院 | 九色PORNY丨视频入口 | 欧美日韩精品一区二区三区高清视频 | 无码人妻少妇色欲AV一区二区 | 图片专区小说专区卡通动漫 | 99久久精品99999久久 | 超强台风免费观看完整版视频 | 果冻传媒在线播放观看228集 | 寡妇快点好大好爽视频 | 四虎永久免费地址在线网站 | 欧美一级欧美一级高清 | 国产综合第一页 | 垫底辣妹免费观看完整版 | 69欧美性猛交 | 免费看日产一区二区三区 | 日日插插| 公园吃女人奶野战视频 | bestialitysex杂交| 欧美一级高清免费a | 亚洲高清视频在线 | vomoulei成人舞蹈 | 国产免费资源高清小视频在线观看 | 男人天堂国产 | 精品久久免费视频 | 精品人伦一区二区三区潘金莲 | 四虎网站 | 色综合久久六月婷婷中文字幕 | 国产免费看视频 | 黑人与老女人做受 | 千金肉奴隶在线观看 | 国产自拍视频网站 | 精品国产一区二区三区久久久狼 | 青草娱乐极品免费视频 | 国产午夜免费秋霞影院 | 99久久精品免费看国产高清 | 胖女性大bbbbbb | 亚洲高清视频网站 | 久久精品国产色蜜蜜麻豆国语版 | 175m美女被网友灌醉啪啪玩脚 | 精品一区二区三区色花堂 |