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

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

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程序設計有所幫助。

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 国内揄拍国内精品久久 | 欧美日韩精品乱国产538 | 欧美s级人做人爱c视频 | 美女被视频网站 | 大桥未久midd—962在线 | 青青视频国产依人在线 | 深夜草莓视频 | 日韩大片在线播放 | 亚洲欧美自偷自拍另类小说 | 国产精品视频人人做人人爱 | 国产欧美一区二区三区免费看 | 欧美又大又粗又爽视频 | 毛片群 | 草莓视频幸福宝 | 九九热在线免费观看 | 俄罗斯三级完整版在线观看 | 日本不卡在线一区二区三区视频 | 吃瓜视频在线观看 | 草免费视频| 超级乱淫变态伦短篇小说全集 | 久久热国产在线视频 | 国产高清在线视频一区二区三区 | 日韩精品1| 花房乱爱在线观看 | 爆操| 亚洲不卡视频 | 免费操比视频 | 奇米狠狠色| 亚洲精品视频免费在线观看 | www免费插插视频 | 四虎1515hhh co m | 闺蜜调教我做她的脚奴 | 99精品在线免费观看 | 精品手机在线1卡二卡3卡四卡 | 美女在尿口隐私视频 | 91精品天美精东蜜桃传媒免费 | 韩国三级年轻的小婊孑 | 2020精品极品国产色在线观看 | 俄罗斯美女尿尿 | 国产视频播放 | 亚洲国产免费 |