Desktop.getDesktop().open(new File("C:\\folder"));

Note: java.awt.Desktop got introduced in JDK 6. is not supported in JDK 5




Runtime.getRuntime().exec("explorer C:\bin");



FileSystemView.getFileSystemView().getHomeDirectory()

Posted by stekilove
,

private  int executeCallableStatement(final String aSql, final Integer fetchSize, QueryListener queryListener) throws SQLException {


if(isNotConnected()){

try{

queryListener.onError("DB연결을 먼저하세요!!");

}

finally{

queryListener.onFinished();

}

return 0;

}

final String sql = trimSqlErrorString(aSql);

int rownums=0;

ResultSet rset = null;

CallableStatement stmt = null;//ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_READ_ONLY);

try{

stmt = connMgr.prepareCall(sql);

stmt.execute();

queryListener.onEachQueryExecuting(stmt);

if(stmt.getMoreResults()){

rset = stmt.getResultSet();

rownums = queryListener.onEachResultSet(sql, rset, fetchSize);

}

else {

rownums = stmt.getUpdateCount();

queryListener.onUpdatedCount(rownums, sql);

}

}

finally{

connMgr.close(rset, stmt);

queryListener.onEachQueryClosed();

}

return rownums;

}

private String trimSqlErrorString(String aSql) {

//.replaceAll("--[^\n]+\n", "").replaceAll("/\\*[^/]+\\*/", "").replaceAll("\\?","'1'").trim();

return MyStringUtil.trim(aSql).replaceAll("/\\*\\s+", "/*");

}

Posted by stekilove
,
BigDecimal Test

    public void testBigDecimalRound() throws Exception {
        printBigDecimalRound("7.42",2);
        printBigDecimalRound("127.42",2);
        printBigDecimalRound("127",2);
        printBigDecimalRound("-127",2);
        printBigDecimalRound("-127.123",2);
    }

    private void printBigDecimalRound(String s, int p) {
        int prec=s.indexOf(".");
        prec=prec<0?s.length():prec;
        System.out.println("s>" + s );
        System.out.println("d>" + Double.parseDouble(s) );
        System.out.println("d>" + new BigDecimal(Double.parseDouble(s)) );
        System.out.println("r>"+ new BigDecimal(Double.parseDouble(s)).round(
                                   new MathContext(prec+p, RoundingMode.CEILING)) );
        System.out.println("x>" + new BigDecimal(s));
    }

results:
s>7.42
d>7.42
d>7.4199999999999999289457264239899814128875732421875
r>7.42
x>7.42
s>127.42
d>127.42
d>127.4200000000000017053025658242404460906982421875
r>127.43
x>127.42
s>127
d>127.0
d>127
r>127
x>127
s>-127
d>-127.0
d>-127
r>-127
x>-127
s>-127.123
d>-127.123
d>-127.1230000000000046611603465862572193145751953125
r>-127.123
x>-127.123
Posted by stekilove
,
/**
     * 지정일부터 작업전날까지.
     * <pre>작업 전날 구하기.
     * 1.그달 마지막일이 일요일이면 3일전까지
     * 2.그달 마지막일이 토요일이면 2일전까지
     * 3.그달 마지막일이 평일이면  1일전까지.
     * </pre>
     * @param currnetDate
     * @return
     */
    private boolean isWorkingDate(String currnetDate, int beginDay ) {
        String currentDate = currnetDate.replaceAll("-","");
        int year = Integer.parseInt(currentDate.substring(0,4));
        int month = Integer.parseInt(currentDate.substring(4,6));
        int day = Integer.parseInt(currentDate.substring(6,8));

        int endDay;

        Calendar cal = Calendar.getInstance();
        cal.set(year, month-1, day );
        int lastDayOfMonth = cal.getActualMaximum(Calendar.DAY_OF_MONTH);
        cal.set(Calendar.DAY_OF_MONTH, lastDayOfMonth );
        int dayOfWeek = cal.get(Calendar.DAY_OF_WEEK);
        if( dayOfWeek == Calendar.SATURDAY ){
            endDay=lastDayOfMonth-2;
        }
        else if( dayOfWeek == Calendar.SUNDAY ){
            endDay=lastDayOfMonth-3;
        }
        else {
            endDay=lastDayOfMonth-1;
        }

        return day >= beginDay && day <= endDay;
    }
Posted by stekilove
,
http://xstream.codehaus.org/tutorial.html

엔터티 클래스의 인스턴스된 객체를
XStream을 통해서 XML 문자열로 만든다.

XStream xstream = new XStream(); // require XPP3 library
// = new XStream ( new DomDriver()); // does not require XPP3 library.
xstream.alias( "person", Person.class );

Person p = new Person("Joe","Walnes");
어쩌구

String xml = xstream.toXML( joe );

란다.

놀랍다.
Posted by stekilove
,

JavaScript StringBuffer

function StringBuffer() { this.buffer = []; }

StringBuffer.prototype.append = function(string)
{
this.buffer.push(string);
return this;
}

StringBuffer.prototype.toString = function()
{
return this.buffer.join("");
}

To use it:
var s = new StringBuffer();
s.append("Hello, ").append(" World!");
alert(s.toString());
link:
http://www.multitask.com.au/people/dion/archives/000354.html
 
Posted by stekilove
,