이 글에서는 파일과 그림을 저장하는 JDBC 프로그래밍 방법을 예제를 통해 설명합니다. 참고할 수 있도록 모든 사람과 공유하세요. 세부정보는 다음과 같습니다.
/*기능 구현: 데이터베이스를 사용하여 텍스트 데이터를 저장하고 이를 읽어 현재 프로젝트에 배치하여 분석합니다. 핵심은 파일 흐름을 마스터하는 것입니다. , 그러나 파일 흐름에 대한 읽기 및 쓰기가 더 많습니다. 날짜: 20131003 작성자: Yan Dayangzi*/public class Ckb_test { public static void main(String[] args) throws SQLException, IOException { // TODO 자동 생성 메서드 스텁 읽기 () } 정적 무효 create() throws SQLException, IOException { Connection conn=null; ResultSet resultset=null; try { //2. 연결 설정 conn=JdbcUtils.getConnection(); //단일 사례 디자인 모드 getInstance ().getConnection(); //3. 구문 생성 String sql="insert into ckb_test(text) 값(?)"; prest=conn.prepareStatement(sql); 파일 파일=새 File("src/cn/com/JDBC/JdbcUtils.java"); 리더 리더=새 BufferedReader(새 FileReader(파일) )); prest.setCharacterStream(1, reader, (int)file.length()) //4. i=prest.executeUpdate(); reader.close(); System.out.println("i="+i); } finally { JdbcUtils.free(resultset, prest, conn) } static void read() SQLException, IOException { 연결 conn=null; 명령문 st=null; //2. 연결 설정 conn=JdbcUtils.getConnection(); //단일 사례 디자인 모드 conn=JdbcUtilsSingle.getInstance().getConnection(); //3. 명령문 생성 // 4. 명령문 실행 resultset=st.executeQuery("ckb_test에서 텍스트 선택"); //5. 결과 처리 while(resultset.next()) { Clob clob=resultset.getClob(1); Reader reader=clob.getCharacterStream() //reader=resultset.getCharacterStream(1); 파일("JdbcUtils.java"); 작성자 작가=new BufferedWriter(new FileWriter(file)) char[] buff=new char[1024]; for(int i=0;(i=reader.read(buff))>0;) {writer.write(buff,0,i) } reader.close(); ; } } finally { JdbcUtils.free(resultset, st, conn); } }}/*기능 구현: 데이터베이스를 사용하여 이미지 데이터를 저장하고 이를 읽어 현재 프로젝트에 넣어 분석합니다. 별로 어렵지 않습니다. 핵심은 데이터베이스에 대한 작업이 많지 않지만 파일 스트림의 읽기 및 쓰기가 많이 있다는 것입니다. 그림의 디렉토리 날짜 변경에 주의하세요: 20131003 작성자: Yan Dayangzi*/public class PictureBlob { public static void main(String[] args) throws SQLException, IOException { read() } static void create() throws SQLException, IOException { Connection conn=null; ResultSet resultset=null; try { //2. 연결 설정 conn=JdbcUtils.getConnection(); // 싱글턴 디자인 모드 conn=JdbcUtilsSingle.getInstance().getConnection(); blob_test(big_bit) 값(?)에 삽입"; prest=conn.prepareStatement(sql); 파일 file=new File("C://문서 및 설정//관리자//내 문서//내 그림//cxg.jpg"); InputStream in=new BufferedInputStream(new FileInputStream(파일)); prest.setBinaryStream(1, in, (int)file.length()); //4. 명령문 실행 int i=prest.executeUpdate(); System.out.println("i="+i); } finally { JdbcUtils.free(resultset, prest, conn); } } static void read()가 SQLException, IOException을 발생시킵니다. 문 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)); =새 바이트[1024]; for(int i=0;(i=in.read(buff))>0;) { out.write(buff,0,i); } out.close(); } } 마지막으로 { JdbcUtils.free(resultset, st, conn);
이 글이 Java 프로그래밍에 종사하는 모든 분들께 도움이 되기를 바랍니다.