'#텍스트파일'에 해당되는 글 1건

  1. 2016.11.01 JAVA SPRING + MYBATIS + ORACLE TXT 파일 BLOB 형태로 DB에 INSERT

일단 환경을 SPRING / MYBATIS / ORACLE  을 사용하였다.


실제 실행은 spring scheduler 를 사용하여 주단위로 DB에 해당 정보를 갱신하는 부분이었으나 이번 글에서는 

TXT 파일 저장 후  저장한 TXT 파일을  ORACLE DB에 BLOB 형태로 INSERT 까지 하는 부분까지만 적을 예정입니다.


REST API에서 값 요청하는 부분은 생략을 하고 TXT파일 저장 후 해당 TXT 파일을 BYTE[]   array 형태로 DB에 Insert 할 예정이다.


vo 처리

----------------------------------------------------------------------------------------------------------------------


public class blobVO {

private byte[] txtfile;

public byte[] getTxtfile() {

return txtfile;

}

public void setTxtfile(byte[] txtfile) {

this.txtfile = txtfile;

}

}


아래 부분은 실제 파일 저장 및 DB에 데이터를  Insert등 부분을 처리하는 service impl 내의 내용이다.

-----------------------------------------------------------------------------------------------------------------------

//저장할 파일명

String filename = "테스트.txt";


try {

//저장할 파일명으로 파일 생성하는 부분   FileWriter의 파일명 다음의 false는 false로 했을경우 해당 파일에 새로운 데이터를 덮어씨는 부분이고 true 처리를 할경우 이미 있는 데이터에 현재 데이터를 append한다.

//테스트txt.파일에 쓸 내용

String data = "파일에 쓰기";


BufferedWriter fw = new BufferedWriter(new FileWriter(filename, false));

fw.write(sb.toString());

      fw.flush();

fw.close();

} catch (Exception e) {

System.out.println("파일쓰기 오류");

}


blobVO vo = new blobVO;

//위에서 저장했던 파일 InputStream 사용하여 가져오기

File file = new File(filename);

InputStream is = new FileInputStream(file);

//Inputstream 읽은 데이타를 byte[] 형태로 변환

byte[] targetArray = IOUtils.toByteArray(is);


//vo에 데이터 담기

vo.setTxtfile(targetArray);

//DB에 데이터 INSERT TRY CATCH 처리를 해줘야 한다.

//dao에 insert를 처리하는 부분은... 별다를게 없어서 생략하였다.

dao.insertHotspotdata(hotspotData);

'Java' 카테고리의 다른 글

Read BLOBs data from database  (0) 2016.11.14
Insert an Image  (0) 2016.11.14
java 배열 내 문자열 확인  (0) 2016.10.04
대용량 엑셀파일 업로드 excel upload  (4) 2016.09.22
[Tomcat] UTF-8 한글 처리  (0) 2016.04.08
Posted by 샤린냥
이전버튼 1 이전버튼