━━━━ ◇ ━━━━
Java/Java 공부

DB에서 파일 가져오기

앞서 DB에 파일을 넣었다면, 이번에는 DB에서 파일을 가져오는것을 할 차례입니다.


FileOutputStream 을 사용하면 되겠죠?


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
import java.io.FileOutputStream;
import java.io.InputStream;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
 
public class BLOBOutputTest {
    private Connection con;
    private String driverName = "com.mysql.jdbc.Driver";
    private String dbURL = "jdbc:mysql://localhost:포트번호/DB이름";
    
    public BLOBOutputTest() {
        try {
            Class.forName(driverName);
            Connection con = DriverManager.getConnection(dbURL, "계정""비밀번호"); //JDBC연결
        
            Statement stmt = con.createStatement();
            ResultSet rs = stmt.executeQuery("SELECT * FROM PDS");
 
            if(rs.next()){
                InputStream is = rs.getBinaryStream("FILE");
                String sql ="C:\\Users\\aristata\\Pictures\\Saved Pictures\\blobTest.png";
                FileOutputStream fos = new FileOutputStream(sql);
                byte[] buff = new byte[8192];
                int len;
                while( (len = is.read(buff)) > 0){
                    fos.write(buff, 0, len);
                }
                fos.close();
                is.close();
                rs.close();
            }
            con.close();
 
            
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
    public static void main(String[] args) {
        
        new BLOBOutputTest();
    }
 
}
 
cs



DB에 icon_01.png 파일이 들어있는 상태에서 blobTest.png 파일로 가져왔습니다. 

지정된 경로에 들어가서 확인을 해보니 파일이 생성되어 있는것을 확인할 수 있었습니다.

'Java > Java 공부' 카테고리의 다른 글

Java 누적합계가 100을 넘지 않는 가장 큰 수 찾기  (0) 2016.09.01
Java 숫자를 입력하고 각 자리의 합을 구해보자  (0) 2016.09.01
DB에 파일 집어넣기  (0) 2016.07.25
String 클래스  (0) 2016.07.18
메소드  (0) 2016.07.18
COMMENT