JavaÎļþ²Ù×÷´óÈ«£¨Æß£©
45.ÑéÖ¤Schema
//import java.io.*;
//import javax.xml.parsers.*;
//import org.xml.sax.*;
//import org.w3c.dom.*;
String xsdFileName = \"Q:\\\\_dev_stu\\\\xsdtest\\\\src\\\\note.xsd\";
try {
//´´½¨Ä¬ÈϵÄXML´íÎó´¦ÀíÆ÷
XMLErrorHandler errorHandler = new XMLErrorHandler();
//»ñÈ¡»ùÓÚ SAX µÄ½âÎöÆ÷µÄʵÀý
SAXParserFactory factory = SAXParserFactory.newInstance();
//½âÎöÆ÷ÔÚ½âÎöʱÑéÖ¤ XML ÄÚÈÝ¡£
factory.setValidating(true);
//Ö¸¶¨ÓÉ´Ë´úÂëÉú³ÉµÄ½âÎöÆ÷½«Ìṩ¶Ô XML Ãû³Æ¿Õ¼äµÄÖ§³Ö¡£
factory.setNamespaceAware(true);
//ʹÓõ±Ç°ÅäÖõŤ³§²ÎÊý´´½¨ SAXParser µÄÒ»¸öÐÂʵÀý¡£
SAXParser parser = factory.newSAXParser();
//´´½¨Ò»¸ö¶ÁÈ¡¹¤¾ß
SAXReader xmlReader = new SAXReader();
//»ñȡҪУÑéxmlÎĵµÊµÀý
Document xmlDocument = (Document) xmlReader.read(new File(xmlFileName));
//ÉèÖà XMLReader µÄ»ù´¡ÊµÏÖÖеÄÌØ¶¨ÊôÐÔ¡£ºËÐŦÄܺÍÊôÐÔÁбí¿ÉÒÔÔÚ [url]http://sax.sourceforge.net/?selected=get-set[/url] ÖÐÕÒµ½¡£
parser.setProperty(
\"http://java.sun.com/xml/jaxp/properties/schemaLanguage",
\"http://www.w3.org/2001/XMLSchema");
parser.setProperty(
\"http://java.sun.com/xml/jaxp/properties/schemaSource",
\"file:\" + xsdFileName);
//´´½¨Ò»¸öSAXValidatorУÑ鹤¾ß£¬²¢ÉèÖÃУÑ鹤¾ßµÄÊôÐÔ
SAXValidator validator = new SAXValidator(parser.getXMLReader());
//ÉèÖÃУÑ鹤¾ßµÄ´íÎó´¦ÀíÆ÷£¬µ±·¢Éú´íÎóʱ£¬¿ÉÒÔ´Ó´¦ÀíÆ÷¶ÔÏóÖеõ½´íÎóÐÅÏ¢¡£
validator.setErrorHandler(errorHandler);
//УÑé
validator.validate(xmlDocument);
XMLWriter writer = new XMLWriter(OutputFormat.createPrettyPrint());
//Èç¹û´íÎóÐÅÏ¢²»Îª¿Õ£¬ËµÃ÷УÑéʧ°Ü£¬´òÓ¡´íÎóÐÅÏ¢
Ïà¹ØÎĵµ£º
1.Duplicated Code ´úÂëÖØ¸´¼¸ºõÊÇ×î³£¼ûµÄÒìζÁË¡£ËûÒ²ÊÇRefactoringµÄÖ÷ҪĿ±êÖ®Ò»¡£´úÂëÖØ¸´ÍùÍùÀ´×ÔÓÚcopy-and-pasteµÄ±à³Ì·ç¸ñ¡£ÓëËûÏà¶ÔÓ¦OAOOÊÇÒ»¸öºÃϵͳµÄÖØÒª±êÖ¾¡£ 2.Long method ËüÊÇ´«Í³½á¹¹»¯µÄ“ÒŶ¾”¡£Ò»¸ö·½·¨Ó¦µ±¾ßÓÐ×ÔÎÒ¶ÀÁ¢µÄÒâͼ£¬²»Òª°Ñ¼¸¸öÒâͼ·ÅÔÚÒ»Æð¡£ 3.Large Class ´óÀà¾ÍÊÇÄã°ÑÌ«¶ ......
Æ¥ÅäÌØ¶¨Êý×Ö£º
^[1-9]d*$¡¡ ¡¡ //Æ¥ÅäÕýÕûÊý
^-[1-9]d*$ ¡¡ //Æ¥Å为ÕûÊý
^-?[1-9]d*$¡¡¡¡ //Æ¥ÅäÕûÊý
^[1-9]d*|0$¡¡ //Æ¥Åä·Ç¸ºÕûÊý£¨ÕýÕûÊý + 0£©
^-[1-9]d*|0$¡¡¡¡ //Æ¥Åä·ÇÕýÕûÊý£¨¸ºÕûÊý + 0£©
^[1-9]d*.d*|0.d*[1-9]d*$¡¡¡¡ //Æ¥ÅäÕý¸¡µãÊý
^-([1-9]d*.d*|0.d*[1-9]d*)$¡¡ //Æ¥Å为¸¡µãÊý
^-?([1-9]d*.d*| ......
/ÓÉÓÚJAVAÓïÑÔµÄÊý¾ÝÀàÐͶ¼ÊÇÓзûºÅÀàÐÍ£¬¶øC# C++Ò»°ãÊý¾ÝÀàÐͶ¼ÊÇ·ÖÓзûºÅºÍÎÞ·ûºÅ,
//Òò´ËÔÚͨÐŹý³ÌÖд«µÝµÄByte[]ÎÞ·¨Ö±
½Óת»»³ÉC#ÐèÒªµÄÀàÐÍ£¬
//ÒÔǰµ¹ÊÇûעÒâÕâЩϸ½Ú£¬ÒòΪһ°ãÓÃÒ»ÖÖÓïÑÔ±à³Ì£¬
//´ó¶¼ÓÐÄÚÖõÄת»»·½·¨¡£¿çÓïÑÔ»·¾³µÄת»»¾ÍµÄ×Ô¼º¶¯
ÊÖÏë°ì·¨ÁË¡£
1¡¢javaµÄByte[]ת»»³Éc#µÄInt32
privat ......
Ïà¶Ô·¾¶µÄ»ñµÃ
¡¡¡¡ ˵Ã÷:Ïà¶Ô·¾¶(¼´²»Ð´Ã÷ʱºòµ½µ×Ïà¶ÔË)¾ù¿Éͨ¹ýÒÔÏ·½Ê½»ñµÃ£¨²»ÂÛÊÇÒ»°ãµÄjavaÏîÄ¿»¹ÊÇwebÏîÄ¿£©
¡¡¡¡ String
relativelyPath=System.getProperty("user.dir");
¡¡¡¡
ÉÏÊöÏà¶Ô·¾¶ÖУ¬javaÏîÄ¿ÖеÄÎļþÊÇÏà¶ÔÓÚÏîÄ¿µÄ¸ùĿ¼
¡¡¡¡ webÏîÄ¿ÖеÄÎļþ·¾¶ÊÓ²»Í¬µÄweb·þÎñÆ÷²»Í¬¶ø²»Í¬£¨tomcatÊÇ ......
26.ÒÆ¶¯Ò»¸öÎļþ¼ÐÏÂËùÓÐÎļþµ½ÁíÒ»¸öĿ¼
//import java.io.*;
File movefile=new File(%%1);
File[] movefiles=movefile.listFiles();
for(int i=0;i<movefiles.length;i++){
if(movefiles[i].isFile()){
int bytesum = 0;
int byteread  ......