1. 자바에서 파일 쓰기 구현시 어떤 방법이 빠른지 테스트.
- FileWriter fw = new FileWriter(LOG_HOME+"writer.log");
- BufferedWriter bw = new BufferedWriter(new FileWriter(LOG_HOME+"writer.log"));
- FileOutputStream fos = new FileOutputStream(LOG_HOME+"outputstream.log");
- BufferedOutputStream fos = new BufferedOutputStream(
new FileOutputStream(LOG_HOME+"bufferedoutputstream.log"));
- FileChannel fc =
(new FileOutputStream(new File(LOG_HOME+"filechannel.log"))).getChannel();
// Byte Buffer 매번 생성
- FileChannel fc =
(new FileOutputStream(new File(LOG_HOME+"filechannel.log"))).getChannel();
// ByteBuffer 재사용
2. 테스트 결과
1K 2K 5K 10K 50K
FileWriter 31 32 94 203 1281
FileWriter + BufferedWriter 15 31 94 188 1000
FileOutputStream 32 47 109 188 1063
FileOutputStream + BufferedOutputStream 31 47 109 203 1578
FileChannel 47 63 109 219 2906
FileChannel + Byte Buffer 재사용 31 47 188 250 2766
FileWriter와 FileOutputStream의 성능이 높게 나옴.
BufferedWriter 등의 경우 GC를 유발하는 문제가 있기 때문에 성능 저하 요인이 될 수 있으나, 테스트 결과로는 FileWriter + BufferedWriter의 경우가 성능이 제일 좋음.
Oracle - 데이터 파일 이동하기
* ALTER DATABASE를 이용한다.
1) 데이터베이스를 종료 한다.
2) 운영체제 명령을 사용하여 데이터 파일을 이동 한다.
3) 데이터베이스를 마운트 모드로 시작한다.
4) ALTER DATABASCE RENAME FILE명령을 수행하여 이름을 변경한다.
5) 인스턴스를 시작한다
1) 데이터베이스를 종료 한다.
2) 운영체제 명령을 사용하여 데이터 파일을 이동 한다.
3) 데이터베이스를 마운트 모드로 시작한다.
4) ALTER DATABASCE RENAME FILE명령을 수행하여 이름을 변경한다.
5) 인스턴스를 시작한다
Oracle - 데이터 파일 관리
* 데이터 파일의 크기 조절하기
기존 데이터 파일들은 ALTER DATABASE와 ALTER TABLESPACE 명령어로 크기를 재조정.
ALTER DATABASE
DATAFILE 'C:\ORACLE\ORADATA\ORACLE\SYSTEM01.DBF'
RESIZE 400m;
* 데이터 파일 자동 확장 하기
CREATE DATABASE, CREATE TABLESPACE, ALTER TABLESPACE 명령을 사용
CREATE TABLESPACE KJS
DATAFILE 'C:\ORACLE\ORADATA\ORACLE\KJS.DBF'
SIZE 300M
AUTOEXTEND ON
NEXT 10M
MAXSIZE 500M;
* 새로운 데이터 파일을 기존 테이블 스페이스에 추가하기
KJS테이블 스페이스에 AUTOEXTEND, MAXSIZE를 명시하고 100메가의 KJS_01.DBF파일을 추가 하는 예.
ALTER TABLESPACE KJS
ADD DATAFILE 'C:\ORACLE\ORADATA\ORACLE\KJS_01.DBF' SIZE 100M
AUTOEXTEND ON
MAXSIZE 300M;
* 기존 파일의 속성 변경하기
ALTER DATABASE명령을 이용하면 된다.
ALTER DATABASE
DATAFILE 'C:\ORACLE\ORADATA\ORACLE\KJS_01.DBF'
AUTOEXTEND ON
MAXSIZE 500M;
기존 데이터 파일들은 ALTER DATABASE와 ALTER TABLESPACE 명령어로 크기를 재조정.
ALTER DATABASE
DATAFILE 'C:\ORACLE\ORADATA\ORACLE\SYSTEM01.DBF'
RESIZE 400m;
* 데이터 파일 자동 확장 하기
CREATE DATABASE, CREATE TABLESPACE, ALTER TABLESPACE 명령을 사용
CREATE TABLESPACE KJS
DATAFILE 'C:\ORACLE\ORADATA\ORACLE\KJS.DBF'
SIZE 300M
AUTOEXTEND ON
NEXT 10M
MAXSIZE 500M;
* 새로운 데이터 파일을 기존 테이블 스페이스에 추가하기
KJS테이블 스페이스에 AUTOEXTEND, MAXSIZE를 명시하고 100메가의 KJS_01.DBF파일을 추가 하는 예.
ALTER TABLESPACE KJS
ADD DATAFILE 'C:\ORACLE\ORADATA\ORACLE\KJS_01.DBF' SIZE 100M
AUTOEXTEND ON
MAXSIZE 300M;
* 기존 파일의 속성 변경하기
ALTER DATABASE명령을 이용하면 된다.
ALTER DATABASE
DATAFILE 'C:\ORACLE\ORADATA\ORACLE\KJS_01.DBF'
AUTOEXTEND ON
MAXSIZE 500M;
Java - URL 이미지 파일로 저장하기
String imgUrl = "http://www.a.com/test_image.jpg"; // 이미지 URL
String imgFilePath = "test_image.jpg"; // 저장할 파일명 (경로 포함)
String imgFormat = "jpg"; // 저장할 이미지 포맷. jpg, gif 등
getImageFromUrl(imgUrl, imgFilePath, imgFormat);
/**
* Image URL to File
*/
public void getImageFromUrl(String imgUrl, String imgFilePath, String imgFormat)
{
try
{
// Image 가져오기
BufferedImage image = ImageIO.read(new URL(imgUrl));
// Image 저장할 파일
File imgFile = new File(imgFilePath);
// Image 저장
ImageIO.write(image, imgFormat, imgFile);
}
catch (Exception e)
{
}
}
피드 구독하기:
글 (Atom)