앞서 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 |