javaѹËõÎļþ³Étar.gz¸ñʽ
ʹÓÃant.jar°ü£¨1.6°æ±¾£©£¬Íê³ÉtarµÄ´ò°ü¹¦ÄÜ£¬Ö±½ÓÌù´úÂë
import java.io.BufferedOutputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
import java.util.zip.GZIPOutputStream;
import org.apache.tools.tar.TarEntry;
import org.apache.tools.tar.TarOutputStream;
/*
* ¹¦ÄÜ£ºÑ¹ËõÎļþ³Étar.gz¸ñʽ
*/
public class TarUtils
{
private static int BUFFER = 1024*4; //»º³å´óС
private static byte[] B_ARRAY = new byte[BUFFER];
/*
* ·½·¨¹¦ÄÜ£º´ò°üµ¥¸öÎļþ»òÎļþ¼Ð
* ²ÎÊý£ºinputFileName Òª´ò°üµÄÎļþ¼Ð»òÎļþµÄ·¾¶
* targetFileName ´ò°üºóµÄÎļþ·¾¶
*/
public void execute(String inputFileName, String targetFileName)
{
File inputFile = new File(inputFileName);
String base = inputFileName
.substring(inputFileName.lastIndexOf("/") + 1);
TarOutputStream out = getTarOutputStream(targetFileName);
tarPack(out, inputFile, base);
try
{
if (null != out)
{
out.close();
}
} catch (IOException e)
{
e.printStackTrace();
}
compress(new File(targetFileName));
}
/*
* ·½·¨¹¦ÄÜ£º´ò°ü¶à¸öÎļþ»òÎļþ¼Ð
* ²ÎÊý£ºinputFileNameList Òª´ò°üµÄÎļþ¼Ð»òÎļþµÄ·¾¶µÄÁбí
* targetFileName ´ò°üºóµÄÎļþ·¾¶
*/
public void execute(List<String> inputFileNameList, String targetFileName)
{
TarOutputStream out = getTarOutputStream(targetFileName);
for(String inputFileName : inputFileNameList)
{
File inputFile = new File(inputFileName);
String base = inputFileName
.substring(inputFileName.lastIndexOf("/") + 1);
tarPack(out, inputFile, base);
}
try
{
if (null != out)
{
out.close();
}
} catch (IOException e)
{
e.printStackTrace();
}
compress(new File(targetFileName));
}
/*
* ·½·¨¹¦ÄÜ£º´ò°ü³ÉtarÎļþ
* ²ÎÊý£ºout ´ò°üºóÉú³ÉÎļþµÄÁ÷
* inputFile ҪѹËõµÄÎļ
Ïà¹ØÎĵµ£º
Java NIO APIÏê½â
ÔÚJDK
1.4ÒÔÇ°£¬JavaµÄIO²Ù×÷¼¯ÖÐÔÚjava.ioÕâ¸ö°üÖУ¬ÊÇ»ùÓÚÁ÷µÄ×èÈû£¨blocking£©API¡£¶ÔÓÚ´ó¶àÊýÓ¦ÓÃÀ´Ëµ£¬ÕâÑùµÄAPIʹÓúܷ½
±ã£¬È»¶ø£¬Ò»Ð©¶ÔÐÔÄÜÒªÇó½Ï¸ßµÄÓ¦Óã¬ÓÈÆäÊÇ·þÎñ¶ËÓ¦Óã¬ÍùÍùÐèÒªÒ»¸ö¸üΪÓÐЧµÄ·½Ê½À´´¦ÀíIO¡£´ÓJDK 1.4Æð£¬NIO
API×÷Ϊһ¸ö»ùÓÚ»º³åÇø£¬²¢ÄÜÌṩ·Ç×èÈû(non-blo ......
¶¨Òå:¶¨ÒåÁËËã·¨×壬·Ö±ð·â×°ÆðÀ´£¬ÈÃËüÃÇÖ®¼ä¿ÉÒÔ»¥ÏàÌæ»»£¬´ËģʽÈÃËã·¨µÄ±ä»¯¶ÀÁ¢ÓÚʹÓÃËã·¨µÄ¿Í»§¡£
ÊÊÓÃÐÔ
Ðí¶àÏà¹ØµÄÀà½ö½öÊÇÐÐΪÓÐÒì¡£“²ßÂÔ”ÌṩÁËÒ»ÖÖÓöà¸öÐÐΪÖеÄÒ»¸öÐÐΪÀ´ÅäÖÃÒ»¸öÀàµÄËã·¨¡£
ÐèҪʹÓÃÒ»¸öËã·¨µÄ²»Í¬±äÌå¡£ÀýÈ磬Äã¿ÉÄܻᶨÒåһЩ·´Ó³²»ÈݵĿռä/ʱ¼äȨºâµÄËã·¨¡£µ±ÕâЩ±äÌåʵ ......
1¡£Êý¾Ý¿â
ÔÚ´´½¨µÄʱºò£¬Ö¸¶¨Æä±àÂëΪUTF-8.
£¨1£©oracle:
SQL> select userenv('language') from dual;
USERENV('LANGUAGE')
---------------------------------------------
SIMPLIFIED CHINESE_CHINA.UTF8
SQL>
jdbc urlÎÞÐëÖ¸¶¨±àÂë¡£
& ......
ÔÎÄÁ´½Ó£ºhttp://www.infoq.com/cn/news/2007/09/java_web_architecture_turnning
×÷Õß ÌïÀÖ ·¢²¼ÓÚ 2007Äê9ÔÂ17ÈÕ ÉÏÎç9ʱ24·Ö
һλIDÊÇjackson1225µÄÍøÓÑÔÚJavaEyeѯÎÊÁËÒ»¸ö´óÐÍWebϵͳµÄ¼Ü¹¹ºÍ²¿ÊðÑ¡ÐÍÎÊÌ⣬ϣÍûÄÜÌá¸ßÏÖÓеĻùÓÚJavaµÄWebÓ¦ÓõķþÎñÄÜÁ¦¡£ÓÉÓڼܹ¹Ä£Ê½ºÍ²¿Êðµ÷ÓÅÒ»Ö±ÊÇJavaÉçÇøµÄÈÈÃÅ»°Ì⣬Õâ¸öÎÊ ......
abstract classºÍinterfaceÊÇJavaÓïÑÔÖжÔÓÚ³éÏóÀඨÒå½øÐÐÖ§³ÖµÄÁ½ÖÖ»úÖÆ£¬ÕýÊÇÓÉÓÚÕâÁ½ÖÖ»úÖƵĴæÔÚ£¬²Å¸³ÓèÁËJavaÇ¿´óµÄÃæÏò¶ÔÏóÄÜÁ¦¡£abstract classºÍinterfaceÖ®¼äÔÚ¶ÔÓÚ³éÏóÀඨÒåµÄÖ§³Ö·½Ãæ¾ßÓкܴóµÄÏàËÆÐÔ£¬ÉõÖÁ¿ÉÒÔÏ໥Ìæ»»£¬Òò´ËºÜ¶à¿ª·¢ÕßÔÚ½øÐгéÏóÀඨÒåʱ¶ÔÓÚabstract classºÍinterfaceµÄÑ¡ÔñÏԵñȽÏËæÒâ¡ ......