public class ImageUtil {
public static final int RATIO = 0;
public static final int SAME = -1;

public static void resize(File src, File dest, int width, int height) throws IOException {
Image srcImg = null;
String suffix = src.getName().substring(src.getName().lastIndexOf('.')+1).toLowerCase();
if (suffix.equals("bmp") || suffix.equals("png") || suffix.equals("gif")) {
srcImg = ImageIO.read(src);
} else {
// BMP가 아닌 경우 ImageIcon을 활용해서 Image 생성
// 이렇게 하는 이유는 getScaledInstance를 통해 구한 이미지를
// PixelGrabber.grabPixels로 리사이즈 할때
// 빠르게 처리하기 위함이다.
srcImg = new ImageIcon(src.toURL()).getImage();
}

int srcWidth = srcImg.getWidth(null);
int srcHeight = srcImg.getHeight(null);

int destWidth = -1, destHeight = -1;

if (width == SAME) {
destWidth = srcWidth;
} else if (width > 0) {
destWidth = width;
}

if (height == SAME) {
destHeight = srcHeight;
} else if (height > 0) {
destHeight = height;
}

if (width == RATIO && height == RATIO) {
destWidth = srcWidth;
destHeight = srcHeight;
} else if (width == RATIO) {
double ratio = ((double)destHeight) / ((double)srcHeight);
destWidth = (int)((double)srcWidth * ratio);
} else if (height == RATIO) {
double ratio = ((double)destWidth) / ((double)srcWidth);
destHeight = (int)((double)srcHeight * ratio);
}

Image imgTarget = srcImg.getScaledInstance(destWidth, destHeight, Image.SCALE_SMOOTH);
int pixels[] = new int[destWidth * destHeight];
PixelGrabber pg = new PixelGrabber(imgTarget, 0, 0, destWidth, destHeight, pixels, 0, destWidth);
try {
pg.grabPixels();
} catch (InterruptedException e) {
throw new IOException(e.getMessage());
}
BufferedImage destImg = new BufferedImage(destWidth, destHeight, BufferedImage.TYPE_INT_RGB);
destImg.setRGB(0, 0, destWidth, destHeight, pixels, 0, destWidth);

ImageIO.write(destImg, "jpg", dest);
}
}
Posted by [czar]
,
HTML 태그는 < 로 시작해서 > 로 끝나고, 종료 태그의 경우는 </ 로 시작하거나 또는 />로 끝난다. 따라서, 다음과 같은 정규 표현식은 HTML 태그를 모두 포함하게 된다.
    <(/)?([a-zA-Z]*)(\\s[a-zA-Z]*=[^>]*)?(\\s)*(/)?>

자바 1.4부터 String.repalceAll(String regex, String replacemenet) 메소드를제공하는데, 이 메소드는 문자열에서 regex의 정규 표현식에 일치하는 부분을 replacement로 취환해주는 기능을제공한다. 따라서, 특정 문자열에 HTML 태그를 제거하려면 위의 정규 표현식을 다음과 같이 적용하면 된다.

    String text = "......";
String textWithoutTag = text.replaceAll("<(/)?([a-zA-Z]*)(\\s[a-zA-Z]*=[^>]*)?(\\s)*(/)?>", "");

Posted by [czar]
,
import java.text.*;
String str = new DecimalFormat ( "###,###.###" ).format ( 123456.789 );
//결과 123,456.789

String str = new DecimalFormat ( "###,###.###;-"###,###.###" ).format ( -123456.789 );
//결과 -123,456.789

String str = new DecimalFormat ( "###,###.##" ).format ( 123.456 );
//결과 123.45

String str = new DecimalFormat ( "###.###%" ).format ( 0.123 );
//결과 12.3%

String str = new DecimalFormat ( "000000.000" ).format ( 123.45 );
//결과 000123.450

String str = new DecimalFormat ( "$###,###.###" ).format ( 12345.67 );
//결과 $12,345.67

String str = new DecimalFormat ( "\u005a###,###.###" ).format ( 12345.67 );
//결과 엔12,345.67
Posted by [czar]
,

// 정상적으로 출력되는 한글 charset 찾기



Posted by [czar]
,

java 1.4 버전 이상에서 사용 가능합니다.

/*
s2 의 문자열이 "소토로" 로 끝나는지 검사합니다.
s1 에서 ".*" 는 어떤 문자열이 와도 좋다는 것을 의미합니다.
s1 에서 마지막 "$" 는 문장의 끝을 의미합니다.
*/
import java.util.regex.*;

public class PatternTest2
{
public static void main(String[] args)
{
 String s1 = ".*소토로$";
 String s2 = "123소토로";


 Pattern p = Pattern.compile(s1);
 Matcher m = p.matcher(s2);
 boolean b = m.matches();
 System.out.println(b);


 b = Pattern.matches(s1, s2);
 System.out.println(b);
}
}

Posted by [czar]
,
도구 -> 기본설정 -> 도구 - 사용자도구

   우측화면에서 그룹 선택(1번부터 10번까지 있음) 원하는 번호 선택.
   그룹이름 변경 -> Java로 해줌(이건 안해도 되는데 구분을 위해 해줌)

   추가 -> 프로그램 {
       메뉴제목 : Java Compile(사용자 마음대로)
       명령 : 오른쪽 버튼을 클릭하여 javac파일을 찾아 선택해줌.
       인수 : 오른쪽 버튼을 클릭하여 "파일이름" 선택
       디렉토리 : 오른쪽 버튼을 클릭하여 "파일 디렉토리" 선택
       하단의 "출력내용 캡쳐"에 체크
   }    추가 -> 프로그램 {
        메뉴제목 : Java Run(사용자 마음대로)
       명령 : 오른쪽 버튼을 클릭하여 java파일을 찾아 선택해줌.
       인수 : 오른쪽 버튼을 클릭하여 "확장자를 뺀 파일이름" 선택
       디렉토리 : 오른쪽 버튼을 클릭하여 "파일 디렉토리" 선택
       하단의 "출력내용 캡쳐"에 체크
Posted by [czar]
,
Posted by [czar]
,
<%@ page contentType="text/html; charset=euc-kr"%>
<%
   String dir = "/home/test/images";

   java.io.File f = new java.io.File(dir);
   if(f.exists()){
       String [] filelist = f.list();
       for(int i=0;i<filelist.length;i++){
           java.io.File f2 = new java.io.File(dir + "/" + filelist[i]);
        
           out.println("<a href='/images/"+f2.getName()+"'>"+f2.getName()+"</a><BR>");
       }
   }
%>


           f2.isDirectory()
               out.println("<div class=\"folder\">"+f2.getName()+"<div>");
           f2.isFile()
               out.println("<div class=\"file\">"+f2.getName()+"<div>");
Posted by [czar]
,
function funcName() {
 try {
  // 여기는 원하는 기능 추가
 } catch(e){
  for (x in e){
   alert("e."+x+" == "+eval("e."+x));
  }
 }
}
Posted by [czar]
,
select
ISNULL(CAST(ROUND(AVG(CAST(valuation1 as float)),2) AS  NUMERIC(10,1)),0) AS valuation1
from table


NUMERIC(10,1)
위 소수점 한자리까지 표현

NUMERIC(10, 2) - 소주점 두자리


Posted by [czar]
,