锘??xml version="1.0" encoding="utf-8" standalone="yes"?>
import
聽org.htmlparser.NodeFilter;
import
聽org.htmlparser.Parser;
import
聽org.htmlparser.filters.TagNameFilter;
import
聽org.htmlparser.tags.TableTag;
import
聽org.htmlparser.util.NodeList;
/**
聽*聽<br>
聽*聽鏍囬:聽<br>
聽*聽鍔熻兘姒傝:聽<br>
聽*聽鐗堟潈:聽cityyouth.cn聽(c)聽2005聽<br>
聽*聽鍏徃:涓婃搗鍩庡競闈掑勾緗懧?lt;br>
聽*聽鍒涘緩鏃墮棿:2005-12-21聽<br>
聽*聽淇敼鏃墮棿:聽<br>
聽*聽淇敼鍘熷洜錛?br />聽*聽
聽*聽
@author
聽寮犱紵
聽*聽
@version
聽1.0
聽
*/
public
聽
class
聽TestYahoo聽{
聽聽聽聽
public
聽
static
聽
void
聽testHtml()聽{
聽聽聽聽聽聽聽聽
try
聽{
聽聽聽聽聽聽聽聽聽聽聽聽String聽sCurrentLine;
聽聽聽聽聽聽聽聽聽聽聽聽String聽sTotalString;
聽聽聽聽聽聽聽聽聽聽聽聽sCurrentLine聽
=
聽
""
;
聽聽聽聽聽聽聽聽聽聽聽聽sTotalString聽
=
聽
""
;
聽聽聽聽聽聽聽聽聽聽聽聽java.io.InputStream聽l_urlStream;
聽聽聽聽聽聽聽聽聽聽聽聽java.net.URL聽l_url聽
=
聽
new
聽java.net.URL(
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽
"
http://sports.sina.com.cn/iframe/nba/live/
"
);
聽聽聽聽聽聽聽聽聽聽聽聽java.net.HttpURLConnection聽l_connection聽
=
聽(java.net.HttpURLConnection)聽l_url
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽.openConnection();
聽聽聽聽聽聽聽聽聽聽聽聽l_connection.connect();
聽聽聽聽聽聽聽聽聽聽聽聽l_urlStream聽
=
聽l_connection.getInputStream();
聽聽聽聽聽聽聽聽聽聽聽聽java.io.BufferedReader聽l_reader聽
=
聽
new
聽java.io.BufferedReader(
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽
new
聽java.io.InputStreamReader(l_urlStream));
聽聽聽聽聽聽聽聽聽聽聽聽
while
聽((sCurrentLine聽
=
聽l_reader.readLine())聽
!=
聽
null
)聽{
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽sTotalString聽
+=
聽sCurrentLine;
聽聽聽聽聽聽聽聽聽聽聽聽}
聽聽聽聽聽聽聽聽聽聽聽聽System.out.println(sTotalString);
聽聽聽聽聽聽聽聽聽聽聽聽System.out.println(
"
====================
"
);
聽聽聽聽聽聽聽聽聽聽聽聽String聽testText聽
=
聽extractText(sTotalString);
聽聽聽聽聽聽聽聽聽聽聽聽System.out.println(testText);
聽聽聽聽聽聽聽聽}聽
catch
聽(Exception聽e)聽{
聽聽聽聽聽聽聽聽聽聽聽聽e.printStackTrace();
聽聽聽聽聽聽聽聽}
聽聽聽聽}
聽聽聽聽
/**
聽聽聽聽聽*聽鎶藉彇綰枃鏈俊鎭?br />聽聽聽聽聽*聽
聽聽聽聽聽*聽
@param
聽inputHtml
聽聽聽聽聽*聽
@return
聽聽聽聽聽
*/
聽聽聽聽
public
聽
static
聽String聽extractText(String聽inputHtml)聽
throws
聽Exception聽{
聽聽聽聽聽聽聽聽StringBuffer聽text聽
=
聽
new
聽StringBuffer();
聽聽聽聽聽聽聽聽Parser聽parser聽
=
聽Parser.createParser(
new
聽String(inputHtml.getBytes(),
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽
"
8859_1
"
),聽
"
8859-1
"
);
聽聽聽聽聽聽聽聽
//
聽閬嶅巻鎵鏈夌殑鑺傜偣
聽聽聽聽聽聽聽聽NodeList聽nodes聽
=
聽parser.extractAllNodesThatMatch(
new
聽NodeFilter()聽{
聽聽聽聽聽聽聽聽聽聽聽聽
public
聽
boolean
聽accept(Node聽node)聽{
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽
return
聽
true
;
聽聽聽聽聽聽聽聽聽聽聽聽}
聽聽聽聽聽聽聽聽});
聽聽聽聽聽聽聽聽Node聽node聽
=
聽nodes.elementAt(
0
);
聽聽聽聽聽聽聽聽text.append(
new
聽String(node.toPlainTextString().getBytes(
"
8859_1
"
)));
聽聽聽聽聽聽聽聽
return
聽text.toString();
聽聽聽聽}
聽聽聽聽
/**
聽聽聽聽聽*聽璇誨彇鏂囦歡鐨勬柟寮忔潵鍒嗘瀽鍐呭.聽filePath涔熷彲浠ユ槸涓涓猆rl.
聽聽聽聽聽*聽
聽聽聽聽聽*聽
@param
聽resource
聽聽聽聽聽*聽聽聽聽聽聽聽聽聽聽聽聽鏂囦歡/Url
聽聽聽聽聽
*/
聽聽聽聽
public
聽
static
聽
void
聽test5(String聽resource)聽
throws
聽Exception聽{
聽聽聽聽聽聽聽聽Parser聽myParser聽
=
聽
new
聽Parser(resource);
聽聽聽聽聽聽聽聽
//
聽璁劇疆緙栫爜
聽聽聽聽聽聽聽聽myParser.setEncoding(
"
GBK
"
);
聽聽聽聽聽聽聽聽String聽filterStr聽
=
聽
"
table
"
;
聽聽聽聽聽聽聽聽NodeFilter聽filter聽
=
聽
new
聽TagNameFilter(filterStr);
聽聽聽聽聽聽聽聽NodeList聽nodeList聽
=
聽myParser.extractAllNodesThatMatch(filter);
聽聽聽聽聽聽聽聽TableTag聽tabletag聽
=
聽(TableTag)聽nodeList.elementAt(
11
);
聽聽聽聽聽聽聽聽聽聽聽聽
聽聽聽聽聽聽聽聽聽聽聽聽System.out.println(tabletag.toHtml());
聽聽聽聽聽聽聽聽聽聽聽聽
聽聽聽聽聽聽聽聽聽聽聽聽System.out.println(
"
==============
"
);
聽聽聽聽}
聽聽聽聽
/*
聽聽聽聽聽*聽public聽static聽void聽main(String[]聽args)聽{聽TestYahoo聽testYahoo聽=聽new
聽聽聽聽聽*聽TestYahoo();聽testYahoo.testHtml();聽}
聽聽聽聽聽
*/
聽聽聽聽
public
聽
static
聽
void
聽main(String[]聽args)聽
throws
聽Exception聽{
聽聽聽聽聽聽聽聽test5(
"
http://sports.yahoo.com/nba/scoreboard
"
);
聽聽聽聽}
}
]]>
(杞?a >http://blogger.org.cn/blog/more.asp?name=dashee&id=6431)
銆銆Log4j鐢變笁涓噸瑕佺殑緇勪歡鏋勬垚錛氭棩蹇椾俊鎭殑浼樺厛綰э紝鏃ュ織淇℃伅鐨勮緭鍑虹洰鐨勫湴錛屾棩蹇椾俊鎭殑杈撳嚭鏍煎紡銆傛棩蹇椾俊鎭殑浼樺厛綰т粠楂樺埌浣庢湁ERROR銆乄ARN銆?
INFO銆丏EBUG錛屽垎鍒敤鏉ユ寚瀹氳繖鏉℃棩蹇椾俊鎭殑閲嶈紼嬪害錛涙棩蹇椾俊鎭殑杈撳嚭鐩殑鍦版寚瀹氫簡鏃ュ織灝嗘墦鍗板埌鎺у埗鍙拌繕鏄枃浠朵腑錛涜岃緭鍑烘牸寮忓垯鎺у埗浜嗘棩蹇椾俊鎭殑鏄劇ず鍐呭銆?br />
銆銆涓銆佸畾涔夐厤緗枃浠?br />
銆銆鍏跺疄鎮ㄤ篃鍙互瀹屽叏涓嶄嬌鐢ㄩ厤緗枃浠訛紝鑰屾槸鍦ㄤ唬鐮佷腑閰嶇疆Log4j鐜銆備絾鏄紝浣跨敤閰嶇疆鏂囦歡灝嗕嬌鎮ㄧ殑搴旂敤紼嬪簭鏇村姞鐏墊椿銆侺og4j鏀寔涓ょ閰嶇疆鏂囦歡鏍煎紡錛屼竴縐嶆槸XML鏍煎紡鐨勬枃浠訛紝涓縐嶆槸Java鐗規ф枃浠訛紙閿?鍊鹼級銆備笅闈㈡垜浠粙緇嶄嬌鐢↗ava鐗規ф枃浠跺仛涓洪厤緗枃浠剁殑鏂規硶錛?br />
銆銆1.閰嶇疆鏍筁ogger錛屽叾璇硶涓猴細
銆銆log4j.rootLogger
= [ level ] , appenderName, appenderName, 鈥?br />
銆銆鍏朵腑錛宭evel
鏄棩蹇楄褰曠殑浼樺厛綰э紝鍒嗕負OFF銆丗ATAL銆丒RROR銆乄ARN銆両NFO銆丏EBUG銆丄LL鎴栬呮偍瀹氫箟鐨勭駭鍒侺og4j寤鴻鍙嬌鐢ㄥ洓涓駭鍒紝浼樺厛綰т粠楂樺埌浣庡垎鍒槸ERROR銆乄ARN銆両NFO銆丏EBUG銆傞氳繃鍦ㄨ繖閲屽畾涔夌殑綰у埆錛屾偍鍙互鎺у埗鍒板簲鐢ㄧ▼搴忎腑鐩稿簲綰у埆鐨勬棩蹇椾俊鎭殑寮鍏熾傛瘮濡傚湪榪欓噷瀹氫箟浜咺NFO綰у埆錛屽垯搴旂敤紼嬪簭涓墍鏈塂EBUG綰у埆鐨勬棩蹇椾俊鎭皢涓嶈鎵撳嵃鍑烘潵銆?
appenderName灝辨槸鎸嘊鏃ュ織淇℃伅杈撳嚭鍒板摢涓湴鏂廣傛偍鍙互鍚屾椂鎸囧畾澶氫釜杈撳嚭鐩殑鍦般?br />
銆銆2.閰嶇疆鏃ュ織淇℃伅杈撳嚭鐩殑鍦癆ppender錛屽叾璇硶涓猴細
銆銆log4j.appender.appenderName
=
fully.qualified.name.of.appender.class
銆銆log4j.appender.appenderName.option1
= value1
銆銆鈥?br />銆銆log4j.appender.appenderName.option =
valueN
銆銆鍏朵腑錛孡og4j鎻愪緵鐨刟ppender鏈変互涓嬪嚑縐嶏細
銆銆org.apache.log4j.ConsoleAppender錛堟帶鍒跺彴錛夛紝
銆銆org.apache.log4j.FileAppender錛堟枃浠訛級錛?br />銆銆org.apache.log4j.DailyRollingFileAppender錛堟瘡澶╀駭鐢熶竴涓棩蹇楁枃浠訛級錛?br />銆銆org.apache.log4j.RollingFileAppender錛堟枃浠跺ぇ灝忓埌杈炬寚瀹氬昂瀵哥殑鏃跺欎駭鐢熶竴涓柊鐨勬枃浠訛級錛?br />銆銆org.apache.log4j.WriterAppender錛堝皢鏃ュ織淇℃伅浠ユ祦鏍煎紡鍙戦佸埌浠繪剰鎸囧畾鐨勫湴鏂癸級
銆銆3.閰嶇疆鏃ュ織淇℃伅鐨勬牸寮忥紙甯冨眬錛夛紝鍏惰娉曚負錛?br />
銆銆log4j.appender.appenderName.layout
=
fully.qualified.name.of.layout.class
銆銆log4j.appender.appenderName.layout.option1
= value1
銆銆鈥?br />銆銆log4j.appender.appenderName.layout.option =
valueN
銆銆鍏朵腑錛孡og4j鎻愪緵鐨刲ayout鏈変互e鍑犵錛?br />銆銆org.apache.log4j.HTMLLayout錛堜互HTML琛ㄦ牸褰㈠紡甯冨眬錛夛紝
銆銆org.apache.log4j.PatternLayout錛堝彲浠ョ伒媧誨湴鎸囧畾甯冨眬妯″紡錛夛紝
銆銆org.apache.log4j.SimpleLayout錛堝寘鍚棩蹇椾俊鎭殑綰у埆鍜屼俊鎭瓧絎︿覆錛夛紝
銆銆org.apache.log4j.TTCCLayout錛堝寘鍚棩蹇椾駭鐢熺殑鏃墮棿銆佺嚎紼嬨佺被鍒瓑絳変俊鎭級
銆銆Log4J閲囩敤綾諱技C璇█涓殑printf鍑芥暟鐨勬墦鍗版牸寮忔牸寮忓寲鏃ュ織淇℃伅錛屾墦鍗板弬鏁板涓嬶細
%m 杈撳嚭浠g爜涓寚瀹氱殑娑堟伅
銆銆%p 杈撳嚭浼樺厛綰э紝鍗矰EBUG錛孖NFO錛學ARN錛孍RROR錛孎ATAL
銆銆%r
杈撳嚭鑷簲鐢ㄥ惎鍔ㄥ埌杈撳嚭璇og淇℃伅鑰楄垂鐨勬縐掓暟
銆銆%c 杈撳嚭鎵灞炵殑綾葷洰錛岄氬父灝辨槸鎵鍦ㄧ被鐨勫叏鍚?br />銆銆%t 杈撳嚭浜х敓璇ユ棩蹇椾簨浠剁殑綰跨▼鍚?br />銆銆%n
杈撳嚭涓涓洖杞︽崲琛岀錛學indows騫沖彴涓衡淺r\n鈥濓紝Unix騫沖彴涓衡淺n鈥?br />銆銆%d
杈撳嚭鏃ュ織鏃墮棿鐐圭殑鏃ユ湡鎴栨椂闂達紝榛樿鏍煎紡涓篒SO8601錛屼篃鍙互鍦ㄥ叾鍚庢寚瀹氭牸寮忥紝姣斿錛?d{yyy MMM dd
HH:mm:ss,SSS}錛岃緭鍑虹被浼鹼細2002騫?0鏈?8鏃?22錛?0錛?8錛?21
銆銆%l
杈撳嚭鏃ュ織浜嬩歡鐨勫彂鐢熶綅緗紝鍖呮嫭綾葷洰鍚嶃佸彂鐢熺殑綰跨▼錛屼互鍙婂湪浠g爜涓殑琛屾暟銆備婦渚嬶細Testlog4.main(TestLog4.java:10)
銆銆浜屻佸湪浠g爜涓嬌鐢↙og4j
銆銆1.寰楀埌璁板綍鍣?br />
銆銆浣跨敤Log4j錛岀涓姝ュ氨鏄幏鍙栨棩蹇楄褰曞櫒錛岃繖涓褰曞櫒灝嗚礋璐f帶鍒舵棩蹇椾俊鎭傚叾璇硶涓猴細
銆銆public
static Logger getLogger( String
name)
銆銆閫氳繃鎸囧畾鐨勫悕瀛楄幏寰楄褰曞櫒錛屽鏋滃繀瑕佺殑璇濓紝鍒欎負榪欎釜鍚嶅瓧鍒涘緩涓涓柊鐨勮褰曞櫒銆侼ame涓鑸彇鏈被鐨勫悕瀛楋紝姣斿錛?br />
銆銆static
Logger logger = Logger.getLogger ( ServerWithLog4j.class.getName ()
)
銆銆2.璇誨彇閰嶇疆鏂囦歡
銆銆褰撹幏寰椾簡鏃ュ織璁板綍鍣ㄤ箣鍚庯紝絎簩姝ュ皢閰嶇疆Log4j鐜錛屽叾璇硶涓猴細
銆銆BasicConfigurator.configure
()錛?鑷姩蹇熷湴浣跨敤緙虹渷Log4j鐜銆?br />銆銆PropertyConfigurator.configure ( String
configFilename) 錛氳鍙栦嬌鐢↗ava鐨勭壒鎬ф枃浠剁紪鍐欑殑閰嶇疆鏂囦歡銆?br />銆銆DOMConfigurator.configure ( String
filename )
錛氳鍙朮ML褰㈠紡鐨勯厤緗枃浠躲?br />
銆銆3.鎻掑叆璁板綍淇℃伅錛堟牸寮忓寲鏃ュ織淇℃伅錛?br />
銆銆褰撲笂涓や釜蹇呰姝ラ鎵ц瀹屾瘯錛屾偍灝卞彲浠ヨ交鏉懼湴浣跨敤涓嶅悓浼樺厛綰у埆鐨勬棩蹇楄褰曡鍙ユ彃鍏ュ埌鎮ㄦ兂璁板綍鏃ュ織鐨勪換浣曞湴鏂癸紝鍏惰娉曞涓嬶細
銆銆Logger.debug
( Object message ) ;
銆銆Logger.info ( Object message ) ;
銆銆Logger.warn (
Object message ) ;
銆銆Logger.error ( Object message ) ;
涓錛?span lang="EN-US">POI綆浠?span lang="EN-US">
Jakarta POI
鏄?span lang="EN-US">apache鐨勫瓙欏圭洰錛岀洰鏍囨槸澶勭悊ole2瀵硅薄銆傚畠鎻愪緵浜嗕竴緇勬搷綰?span lang="EN-US">Windows鏂囨。鐨?span lang="EN-US">Java API
鐩墠姣旇緝鎴愮啛鐨勬槸HSSF鎺ュ彛錛屽鐞?span lang="EN-US">MS Excel錛?span lang="EN-US">97-2002錛夊璞°傚畠涓嶈薄鎴戜滑浠呬粎鏄敤csv鐢熸垚鐨勬病鏈夋牸寮忕殑鍙互鐢?span lang="EN-US">Excel杞崲鐨勪笢瑗匡紝鑰屾槸鐪熸鐨?span lang="EN-US">Excel瀵硅薄錛屼綘鍙互鎺у埗涓浜涘睘鎬уsheet,cell絳夌瓑銆?span lang="EN-US">
浜岋紟HSSF姒傚喌
HSSF
鏄?span lang="EN-US">Horrible SpreadSheet Format鐨勭緝鍐欙紝涔熷嵆鈥滆鍘岀殑鐢靛瓙琛ㄦ牸鏍煎紡鈥濄?涔熻HSSF鐨勫悕瀛楁湁鐐規粦紼斤紝灝辨湰璐ㄨ岃█瀹冩槸涓涓潪甯鎬弗鑲冦佹瑙勭殑API銆傞氳繃HSSF錛屼綘鍙互鐢ㄧ函Java浠g爜鏉ヨ鍙栥佸啓鍏ャ佷慨鏀?span lang="EN-US">Excel鏂囦歡銆?span lang="EN-US">
HSSF
涓鴻鍙栨搷浣滄彁渚涗簡涓ょ被API錛?span lang="EN-US">usermodel鍜?span lang="EN-US">eventusermodel錛屽嵆鈥滅敤鎴鋒ā鍨嬧濆拰鈥滀簨浠?span lang="EN-US">-鐢ㄦ埛妯″瀷鈥濄傚墠鑰呭緢濂界悊瑙o紝鍚庤呮瘮杈冩娊璞★紝浣嗘搷浣滄晥鐜囪楂樺緱澶氥?/span>
涓夛紟寮濮嬬紪鐮?span lang="EN-US">
1
錛?/span>
鍑嗗宸ヤ綔
瑕佹眰:JDK 1.4+POI寮鍙戝寘
鍙互鍒?/span>
http://www.apache.org/dyn/closer.cgi/jakarta/poi/
鏈鏂扮殑POI宸ュ叿鍖?span lang="EN-US">
2
錛?/span>
EXCEL
緇撴瀯
HSSFWorkbook excell
鏂囨。瀵硅薄浠嬬粛
HSSFSheet excell鐨勮〃鍗?span lang="EN-US">
HSSFRow excell鐨勮
HSSFCell excell鐨勬牸瀛愬崟鍏?span lang="EN-US">
HSSFFont excell瀛椾綋
HSSFName 鍚嶇О
HSSFDataFormat 鏃ユ湡鏍煎紡
鍦?span lang="EN-US">poi1.7涓墠鏈変互涓?span lang="EN-US">2欏癸細
HSSFHeader sheet澶?span lang="EN-US">
HSSFFooter sheet灝?span lang="EN-US">
鍜岃繖涓牱寮?span lang="EN-US">
HSSFCellStyle cell鏍峰紡
杈呭姪鎿嶄綔鍖呮嫭
HSSFDateUtil 鏃ユ湡
HSSFPrintSetup 鎵撳嵃
HSSFErrorConstants 閿欒淇℃伅琛?/span>
3
錛庡叿浣撶敤娉曞疄渚?/span>
錛堥噰鐢?/span>
usermodel
錛?/span>
濡備綍璇?span lang="EN-US">Excel
璇誨彇Excel鏂囦歡鏃訛紝棣栧厛鐢熸垚涓涓?span lang="EN-US">POIFSFileSystem瀵硅薄錛岀敱POIFSFileSystem瀵硅薄鏋勯犱竴涓?span lang="EN-US">HSSFWorkbook錛岃HSSFWorkbook瀵硅薄灝變唬琛ㄤ簡Excel鏂囨。銆備笅闈唬鐮佽鍙栦笂闈㈢敓鎴愮殑Excel鏂囦歡鍐欏叆鐨勬秷鎭瓧涓詫細
POIFSFileSystemfs=newPOIFSFileSystem(new FileInputStream("d:\test.xls"));
HSSFWorkbook
銆wb = new HSSFWorkbook(fs);
銆銆} catch (IOException e) {
銆銆e.printStackTrace();
銆銆}
銆銆HSSFSheet sheet = wb.getSheetAt(0);
銆銆HSSFRow row = sheet.getRow(0);
銆銆HSSFCell cell = row.getCell((short) 0);
銆銆String msg = cell.getStringCellValue();
濡備綍鍐?span lang="EN-US">excel錛?span lang="EN-US">
灝?span lang="EN-US">excel鐨勭涓涓〃鍗曠涓琛岀殑絎竴涓崟鍏冩牸鐨勫煎啓鎴愨?span lang="EN-US">a test鈥濄?span lang="EN-US">
POIFSFileSystem fs =new POIFSFileSystem(new FileInputStream("workbook.xls"));
聽聽聽 HSSFWorkbook wb = new HSSFWorkbook(fs);
聽聽聽 HSSFSheet sheet = wb.getSheetAt(0);
聽聽聽 HSSFRow row = sheet.getRow(0);
聽聽聽 HSSFCell cell = row.getCell((short)0);
聽聽聽 cell.setCellValue("a test");
聽聽聽 // Write the output to a file
聽聽聽 FileOutputStream fileOut = new FileOutputStream("workbook.xls");
聽聽聽 wb.write(fileOut);
fileOut.close();
4
錛?/span>
鍙弬鑰冩枃妗?/span>
POI
涓婚〉錛?span lang="EN-US">http://jakarta.apache.org/poi/錛?span lang="EN-US">
鍒濆鑰呭浣曞揩閫熶笂鎵嬩嬌鐢?span lang="EN-US">POI HSSF
http://jakarta.apache.org/poi/hssf/quick-guide.html
銆?span lang="EN-US">
浠g爜渚嬪瓙
http://blog.java-cn.com/user1/6749/archives/2005/18347.html
閲岄潰鏈夊緢澶氫緥瀛愪唬鐮侊紝鍙互寰堟柟渚夸笂鎵嬨?span lang="EN-US">
鍥涳紟浣跨敤蹇冨緱
POI HSSF
鐨?span lang="EN-US">usermodel鍖呮妸Excel鏂囦歡鏄犲皠鎴愭垜浠啛鎮夌殑緇撴瀯錛岃濡?span lang="EN-US">Workbook銆?span lang="EN-US">Sheet銆?span lang="EN-US">Row銆?span lang="EN-US">Cell絳夛紝瀹冩妸鏁翠釜緇撴瀯浠ヤ竴緇勫璞$殑褰㈠紡淇濆瓨鍦ㄥ唴瀛樹箣涓紝渚夸簬鐞嗚В錛屾搷浣滄柟渚匡紝鍩烘湰涓婅兘澶熸弧瓚蟲垜浠殑瑕佹眰錛屾墍浠ヨ榪欎釜涓涓笉閿欑殑閫夋嫨銆?/span>