<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>hiDotNet 博客苑</title><link>http://blog.hidotnet.com/MainFeed.aspx</link><description>.NET Blogs by hiDotNet.com</description><generator>1.9.0.27</generator><item><title>Can you sell yourself in two minutes</title><link>http://blog.hidotnet.com/Databinder/archive/2008/07/03/15130.aspx</link><pubDate>Thu, 03 Jul 2008 03:40:15 GMT</pubDate><guid isPermaLink="true">http://blog.hidotnet.com/Databinder/archive/2008/07/03/15130.aspx</guid><wfw:comment>http://blog.hidotnet.com/Databinder/comments/15130.aspx</wfw:comment><wfw:commentRss>http://blog.hidotnet.com/Databinder/comments/commentRss/15130.aspx</wfw:commentRss><comments>http://blog.hidotnet.com/Databinder/archive/2008/07/03/15130.aspx#comment</comments><slash:comments>2228</slash:comments><trackback:ping>http://blog.hidotnet.com/Databinder/services/trackbacks/15130.aspx</trackback:ping><source url="http://blog.hidotnet.com/Databinder/rss.aspx">Can you sell yourself in two minutes</source><description>&lt;p&gt;&lt;a href="http://blog.hidotnet.com/images/blog_hidotnet_com/databinder/WindowsLiveWriter/testbywlw_A3C0/Sunset_2.jpg"&gt;&lt;img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" title="Sunset" border="0" alt="Sunset" src="http://blog.hidotnet.com/images/blog_hidotnet_com/databinder/WindowsLiveWriter/testbywlw_A3C0/Sunset_thumb.jpg" width="244" height="184" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;Q： Can you sell yourself in two minutes？ Go for it.    &lt;br /&gt;    你能在两分钟內自我推荐吗？大胆试试吧！ &lt;/p&gt;  &lt;p&gt;A： With my qualifications and experience, I feel I am hardworking, responsible and diligent in any project I undertake. Your organization could benefit from my analytical and interpersonal skills.   &lt;br /&gt;    依我的资格和经验，我觉得我对所从事的每一个项目都很努力、负责、勤勉。我的分析能力和与人相处的技巧，对贵单位必有价值。 &lt;/p&gt;  &lt;p&gt;Q： Give me a summary of your current job description.    &lt;br /&gt;    对你目前的工作，能否做个概括的说明。 &lt;/p&gt;  &lt;p&gt;A： I have been working as a computer programmer for five years. To be specific, I do system analysis, trouble shooting and provide software support.    &lt;br /&gt;    我干了五年的电脑程序员。具体地说，我做系统分析，解决问题以及软件供应方面的支持。 &lt;/p&gt;  &lt;p&gt;Q： Why did you leave your last job？   &lt;br /&gt;    你为什么离职呢？ &lt;/p&gt;  &lt;p&gt;A： Well, I am hoping to get an offer of a better position. If opportunity knocks, I will take it.   &lt;br /&gt;    我希望能获得一份更好的工作，如果机会来临，我会抓住。 &lt;/p&gt;  &lt;p&gt;A： I feel I have reached the "glass ceiling" in my current job. I feel there is no opportunity for advancement.    &lt;br /&gt;    我觉得目前的工作，已经达到顶峰，即沒有升迁机会。 &lt;/p&gt;  &lt;p&gt;Q： How do you rate yourself as a professional？   &lt;br /&gt;    你如何评估自己是位专业人员呢？ &lt;/p&gt;  &lt;p&gt;A： With my strong academic background, I am capable and competent.    &lt;br /&gt;    凭借我良好的学术背景，我可以胜任自己的工作，而且我认为自己很有竞争力。 &lt;/p&gt;  &lt;p&gt;A： With my teaching experience, I am confident that I can relate to students very well.   &lt;br /&gt;    依我的教学经验，我相信能与学生相处的很好。 &lt;/p&gt;  &lt;p&gt;Q： What contribution did you make to your current (previous) organization？   &lt;br /&gt;    你对目前/从前的工作单位有何贡献？ &lt;/p&gt;  &lt;p&gt;A： I have finished three new projects, and I am sure I can apply my experience to this position.   &lt;br /&gt;    我已经完成三个新项目，我相信我能将我的经验用在这份工作上。 &lt;/p&gt;  &lt;p&gt;Q： What do you think you are worth to us？   &lt;br /&gt;    你怎么认为你对我们有价值呢？ &lt;/p&gt;  &lt;p&gt;A： I feel I can make some positive contributions to your company in the future.    &lt;br /&gt;    我觉得我对贵公司能做些积极性的贡献。 &lt;/p&gt;  &lt;p&gt;Q： What make you think you would be a success in this position？   &lt;br /&gt;    你如何知道你能胜任这份工作？ &lt;/p&gt;  &lt;p&gt;A： My graduate school training combined with my internship should qualify me for this particular job. I am sure I will be successful.    &lt;br /&gt;    我在研究所的训练，加上实习工作，使我适合这份工作。我相信我能成功。 &lt;/p&gt;  &lt;p&gt;Q： Are you a multi-tasked individual？Do you work well under stress or pressure？   &lt;br /&gt;    你是一位可以同时承担数项工作的人吗？你能承受工作上的压力吗？ &lt;/p&gt;  &lt;p&gt;A： Yes, I think so. &lt;/p&gt;  &lt;p&gt;A： The trait is needed in my current（or previous) position and I know I can handle it well.    &lt;br /&gt;    这种特点就是我目前（先前）工作所需要的，我知道我能应付自如。 &lt;/p&gt;  &lt;p&gt;Q： What is your strongest trait(s)？   &lt;br /&gt;    你个性上最大的特点是什么？ &lt;/p&gt;  &lt;p&gt;A： Helpfulness and caring.   &lt;br /&gt;    乐于助人和关心他人。 &lt;/p&gt;  &lt;p&gt;A： Adaptability and sense of humor.   &lt;br /&gt;    适应能力和幽默感。 &lt;/p&gt;  &lt;p&gt;A： Cheerfulness and friendliness.   &lt;br /&gt;    乐观和友爱。 &lt;/p&gt;  &lt;p&gt;Q： How would your friends or colleagues describe you？   &lt;br /&gt;    你的朋友或同事怎样形容你？ &lt;/p&gt;  &lt;p&gt;A： (pause a few seconds)    &lt;br /&gt;    （稍等几秒钟再答，表示慎重考虑。) &lt;/p&gt;  &lt;p&gt;    They say Mr. Chen is an honest, hardworking and responsible man who deeply cares for his family and friends.    &lt;br /&gt;    他们说陈先生是位诚实、工作努力，负责任的人，他对家庭和朋友都很关心。 &lt;/p&gt;  &lt;p&gt;A： They say Mr. Chen is a friendly, sensitive, caring and determined person.    &lt;br /&gt;    他们说陈先生是位很友好、敏感、关心他人和有决心的人。 &lt;/p&gt;  &lt;p&gt;Q： What personality traits do you admire？   &lt;br /&gt;    你欣赏哪种性格的人？) &lt;/p&gt;  &lt;p&gt;A： I admire a person who is）honest, flexible and easy-going.    &lt;br /&gt;    诚实、不死板而且容易相处的人。 &lt;/p&gt;  &lt;p&gt;A： (I like) people who possess the "can do" spirit.    &lt;br /&gt;    有"实际行动"的人。 &lt;/p&gt;  &lt;p&gt;Q： What leadership qualities did you develop as an administrative personnel？   &lt;br /&gt;    作为行政人员，你有什么样的领导才能？ &lt;/p&gt;  &lt;p&gt;A： I feel that learning how to motivate people and to work together as a team will be the major goal of my leadership.    &lt;br /&gt;    我觉得学习如何把人们的积极性调动起来，以及如何配合协同的团队精神，是我行政工作的主要目标。 &lt;/p&gt;  &lt;p&gt;A： I have refined my management style by using an open-door policy.    &lt;br /&gt;    我以开放式的政策，改进我的行政管理方式。 &lt;/p&gt;  &lt;p&gt;Q： How do you normally handle criticism？   &lt;br /&gt;    你通常如何处理別人的批评？ &lt;/p&gt;  &lt;p&gt;A： Silence is golden. Just don't say anything; otherwise the situation could become worse. I do, however, accept constructive criticism.    &lt;br /&gt;    沉默是金。不必说什么，否则情况更糟，不过我会接受建设性的批评。 &lt;/p&gt;  &lt;p&gt;A： When we cool off, we will discuss it later.    &lt;br /&gt;    我会等大家冷靜下来再讨论。 &lt;/p&gt;  &lt;p&gt;Q： What do you find frustrating in a work situation？   &lt;br /&gt;    在工作中，什么事令你不高兴？ &lt;/p&gt;  &lt;p&gt;A： Sometimes, the narrow-minded people make me frustrated.   &lt;br /&gt;    胸襟狭窄的人，有时使我泄气。 &lt;/p&gt;  &lt;p&gt;A： Minds that are not receptive to new ideas.   &lt;br /&gt;    不能接受新思想的那些取。 &lt;/p&gt;  &lt;p&gt;Q： How do you handle your conflict with your colleagues in your work?    &lt;br /&gt;    你如何处理与同事在工作中的意见不和？ &lt;/p&gt;  &lt;p&gt;A： I will try to present my ideas in a more clear and civilized manner in order to get my points across.   &lt;br /&gt;    我要以更清楚文明的方式，提出我的看法，使对方了解我的观点。 &lt;/p&gt;  &lt;p&gt;Q： How do you handle your failure？   &lt;br /&gt;    你怎样对待自己的失敗？ &lt;/p&gt;  &lt;p&gt;A： None of us was born "perfect". I am sure I will be given    &lt;br /&gt;a second chance to correct my mistake.    &lt;br /&gt;    我们大家生来都不是十全十美的，我相信我有第二个机会改正我的错误。 &lt;/p&gt;  &lt;p&gt;Q： What provide you with a sense of accomplishment.   &lt;br /&gt;    什么会让你有成就感？ &lt;/p&gt;  &lt;p&gt;A： Doing my best job for your company.   &lt;br /&gt;    为贵公司竭力效劳。 &lt;/p&gt;  &lt;p&gt;A： Finishing a project to the best of my ability.   &lt;br /&gt;    尽我所能，完成一个项目。 &lt;/p&gt;  &lt;p&gt;Q： If you had a lot of money to donate, where would you donate it to？Why？   &lt;br /&gt;    假如你有很多钱可以捐赠，你会捐给什么单位？为什么？ &lt;/p&gt;  &lt;p&gt;A： I would donate it to the medical research because I want to do something to help others.    &lt;br /&gt;    我会捐给医药研究，因为我要为他人做点事。 &lt;/p&gt;  &lt;p&gt;A： I prefer to donate it to educational institutions.   &lt;br /&gt;    我乐意捐给教育机构。 &lt;/p&gt;  &lt;p&gt;Q： What is most important in your life right now？   &lt;br /&gt;    眼下你生活中最重要的是什么？ &lt;/p&gt;  &lt;p&gt;A： To get a job in my field is most important to me.   &lt;br /&gt;    对我来说，能在这个领域找到工作是最重要的。 &lt;/p&gt;  &lt;p&gt;A： To secure employment hopefully with your company.   &lt;br /&gt;    希望能在贵公司任职对我来说最重要。 &lt;/p&gt;  &lt;p&gt;Q： What current issues concern you the most？   &lt;br /&gt;    目前什么事是你最关心的？ &lt;/p&gt;  &lt;p&gt;A： The general state of our economy and the impact of China' entry to WTO on our industry.   &lt;br /&gt;    目前中国经济的总体情況以及中国入世对我们行业的影响。 &lt;/p&gt;  &lt;p&gt;Q： How long would you like to stay with this company？   &lt;br /&gt;    你会在本公司服务多久呢？ &lt;/p&gt;  &lt;p&gt;A： I will stay as long as I can continue to learn and to grow in my field.    &lt;br /&gt;    只要我能在我的行业力继续学习和长进，我就会留在这里。 &lt;/p&gt;  &lt;p&gt;Q： Could you project what you would like to be doing five years from now？   &lt;br /&gt;    你能预料五年后你会做什么吗？ &lt;/p&gt;  &lt;p&gt;A： As I have some administrative experience in my last job, I may use my organizational and planning skills in the future.    &lt;br /&gt;    我在上一个工作中积累了一些行政经验，我将来也许要运用我组织和计划上的经验和技巧。 &lt;/p&gt;  &lt;p&gt;A： I hope to demonstrate my ability and talents in my field adequately.    &lt;br /&gt;    我希望能充分展示我在这个行业的能力和智慧。 &lt;/p&gt;  &lt;p&gt;A： Perhaps, an opportunity at a management position would be exciting.   &lt;br /&gt;    也许有机会，我将会从事管理工作。 &lt;/p&gt;  &lt;p&gt;    （如果不愿正面回答，也可以说：）    &lt;br /&gt;    It would be premature for me to predict this.    &lt;br /&gt;    现在对此问题的预测，尚嫌过早。 &lt;/p&gt;  &lt;p&gt;    （甚至还可以打趣的说：）    &lt;br /&gt;    Hypothetically speaking, I might be able to do your current job as a director.    &lt;br /&gt;    （或 CEO 或 president）说不定，我也能做你现在主任的工作呢！ &lt;/p&gt;  &lt;p&gt;Q： What range of pay-scale are you interested in？   &lt;br /&gt;    你喜欢那一种薪水层次标准？ &lt;/p&gt;  &lt;p&gt;A： Money is important, but the responsibility that goes along with this job is what interests me the most.    &lt;br /&gt;    薪水固然重要，但这工作伴随而来的责任更吸引我。 &lt;/p&gt;  &lt;p&gt;A： （假如你有家眷，可以说：）   &lt;br /&gt;    To be frank and open with you, I like this job, but I have a family to support.     &lt;br /&gt;    坦白地说，我喜欢这份工作，不过我必须要负担我的家庭。 &lt;/p&gt;  &lt;p&gt;Other Tips  其它建议 &lt;/p&gt;  &lt;p&gt;Know something about the organization you are applying to.   &lt;br /&gt;了解一些你申请工作单位的情况。 &lt;/p&gt;  &lt;p&gt;Dress properly. Don't shake hand with the interviewer until he/she extends his/her hand.   &lt;br /&gt;穿着要得体，人家伸手时才握手。 &lt;/p&gt;  &lt;p&gt;Don't sit down until invited to do so by the interviewer.    &lt;br /&gt;人家未请，先別坐下。 &lt;/p&gt;  &lt;p&gt;Make eye-contact with the interviewer during the interview.   &lt;br /&gt;面试时，眼睛要看着对方。 &lt;/p&gt;  &lt;p&gt;Listen actively and stay calm.   &lt;br /&gt;注意听，保持冷静。 &lt;/p&gt;  &lt;p&gt;If invited to a meal, be especially careful about your table manners.   &lt;br /&gt;被邀吃饭时，要特別注意餐桌礼节。 &lt;/p&gt;  &lt;p&gt;Don't talk with your mouth full.   &lt;br /&gt;嘴里有食物，不可开口说话。 &lt;/p&gt;  &lt;p&gt;Don't make much noise while you eat.   &lt;br /&gt;吃东西不要出声音。 &lt;/p&gt;  &lt;p&gt;Don't blow your nose or use the toothpick at table.   &lt;br /&gt;不要拧鼻涕或用牙签剔牙。 &lt;/p&gt;  &lt;p&gt;Don't appear to be pushy or overly anxious to get a job.   &lt;br /&gt;不必过分表现急着要工作。 &lt;/p&gt;  &lt;p&gt;Be honest but not too modest.   &lt;br /&gt;要诚实，但不必太谦虚。 &lt;/p&gt;  &lt;p&gt;Don't put yourself down or cut yourself up.   &lt;br /&gt;不可妄自菲薄或自贬。 &lt;/p&gt;  &lt;p&gt;Try to avoid discussing politics or religion with your interviewer.   &lt;br /&gt;避免与面试人谈政治或宗教。 &lt;/p&gt;&lt;img src="http://blog.hidotnet.com/Databinder/aggbug/15130.aspx" width="1" height="1" /&gt;</description><dc:creator>Databinder</dc:creator></item><item><title>URL重写</title><link>http://blog.hidotnet.com/Databinder/archive/2008/05/13/13498.aspx</link><pubDate>Tue, 13 May 2008 07:31:40 GMT</pubDate><guid isPermaLink="true">http://blog.hidotnet.com/Databinder/archive/2008/05/13/13498.aspx</guid><wfw:comment>http://blog.hidotnet.com/Databinder/comments/13498.aspx</wfw:comment><wfw:commentRss>http://blog.hidotnet.com/Databinder/comments/commentRss/13498.aspx</wfw:commentRss><comments>http://blog.hidotnet.com/Databinder/archive/2008/05/13/13498.aspx#comment</comments><slash:comments>2226</slash:comments><trackback:ping>http://blog.hidotnet.com/Databinder/services/trackbacks/13498.aspx</trackback:ping><source url="http://blog.hidotnet.com/Databinder/rss.aspx">URL重写</source><description>重写是截取传入 Web 请求并自动将请求重定向到其他 URL 的过程。&lt;br /&gt;
   比如浏览器发来请求hostname/101.aspx ，服务器自动将这个请求中定向为http://hostname/list.aspx?id=101。&lt;br /&gt;
&lt;br /&gt;
url重写的优点在于：&lt;br /&gt;
     缩短url，隐藏实际路径提高安全性&lt;br /&gt;
     易于用户记忆和键入。 &lt;br /&gt;
     易于被搜索引擎收录&lt;br /&gt;
&lt;br /&gt;
二 实现url重写的基本方法&lt;br /&gt;
    下载MS的URLRewriter.dll，放到你的web程序的bin下&lt;br /&gt;
下载地址1：http://www.rickel.cn/uploads/DevTools/MSDNURLRewriting.msi&lt;br /&gt;
下载地址2：download.microsoft.com/download/0/4/6/0463611e-a3f9-490d-a08c-877a83b797cf/MSDNURLRewriting.msi&lt;br /&gt;
&lt;br /&gt;
下载完成后，在web.config里设置如下：&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;?xml version="1.0" encoding="utf-8" ?&amp;gt;&lt;br /&gt;
&amp;lt;!--overred--&amp;gt;&lt;br /&gt;
&amp;lt;configuration&amp;gt;&lt;br /&gt;
     &amp;lt;configSections&amp;gt;&lt;br /&gt;
         &amp;lt;section name="RewriterConfig"type="URLRewriter.Config.RewriterConfigSerializerSectionHandler, URLRewriter" /&amp;gt;&lt;br /&gt;
     &amp;lt;/configSections&amp;gt;&lt;br /&gt;
     &amp;lt;RewriterConfig&amp;gt;&lt;br /&gt;
         &amp;lt;Rules&amp;gt;&lt;br /&gt;
             &amp;lt;RewriterRule&amp;gt;&lt;br /&gt;
                 &amp;lt;LookFor&amp;gt;~/d(\d+)\.aspx&amp;lt;/LookFor&amp;gt;&lt;br /&gt;
                 &amp;lt;SendTo&amp;gt;~/default.aspx?id=$1&amp;lt;/SendTo&amp;gt;&lt;br /&gt;
             &amp;lt;/RewriterRule&amp;gt;&lt;br /&gt;
         &amp;lt;/Rules&amp;gt;&lt;br /&gt;
     &amp;lt;/RewriterConfig&amp;gt;&lt;br /&gt;
     &amp;lt;system.web&amp;gt;&lt;br /&gt;
         &amp;lt;httpHandlers&amp;gt;&lt;br /&gt;
             &amp;lt;add verb="*" path="*.aspx" type="URLRewriter.RewriterFactoryHandler, URLRewriter" /&amp;gt;&lt;br /&gt;
         &amp;lt;/httpHandlers&amp;gt;&lt;br /&gt;
    &amp;lt;/system.web&amp;gt;&lt;br /&gt;
&amp;lt;/configuration&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
其中&lt;br /&gt;
&amp;lt;section name="RewriterConfig" type="URLRewriter.Config.RewriterConfigSerializerSectionHandler, URLRewriter" /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
用于指定配置节"RewriterConfig"的处理程序类的名称为”URLRewriter.Config.RewriterConfigSerializerSectionHandler”，该类存在于bin目录下的URLRewriter .dll文件中&lt;br /&gt;
&lt;br /&gt;
关键的是这两句&lt;br /&gt;
&amp;lt;LookFor&amp;gt;~/d(\d+)\.aspx&amp;lt;/LookFor&amp;gt;&lt;br /&gt;
&amp;lt;SendTo&amp;gt;~/default.aspx?id=$1&amp;lt;/SendTo&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;LookFor&amp;gt;~/d(\d+)\.aspx&amp;lt;/LookFor&amp;gt;表示，用户输入的url，d(\d+)\.aspx是 url中文件名匹配的正则表达式（此处为字母d开头，后面跟一个或多个数字，并以.aspx结尾。用户也可根据自己的需要自行设定）。&lt;br /&gt;
&amp;lt;SendTo&amp;gt;~/default.aspx?id=$1&amp;lt;/SendTo&amp;gt;，表示当服务器接收到符合上面条件的请求后如何重写url。此处表示访问defalutl.aspx并传入参数id,其值$1将用用户请求的文件名中的第一个数字来表示。&lt;br /&gt;
例如用户输入 hostname/d11.aspx，服务器会把他重写为http://hostname/default.aspx?id=11。换句话说用户输入http: //hostname/d11.aspx，实际访问的是http://hostname/default.aspx?id=11。这样就起到了隐藏真实文件名，并便于用户记忆的作用。&lt;br /&gt;
&lt;br /&gt;
处理回发&lt;br /&gt;
在重写后的url里如果产生回发，例如有一个按钮，又调用了该被重写的aspx，用户浏览器中将会显示该aspx文件实际的地址，也就是http: //hostname/default.aspx?id=11。但从用户的角度考虑，如 果单击按钮时突然看到 URL 更改会使他们感到不安。因此必须解决这个问题。&lt;br /&gt;
解决方法有二：&lt;br /&gt;
（1）自己定义一个Actionlessform类，在aspx中不再使用系统提供的form 标记&lt;br /&gt;
&lt;br /&gt;
namespace ActionlessForm &lt;br /&gt;
{&lt;br /&gt;
     public class Form : System.Web.UI.HtmlControls.HtmlForm&lt;br /&gt;
     {&lt;br /&gt;
        protected override void RenderAttributes(HtmlTextWriter writer)&lt;br /&gt;
         {&lt;br /&gt;
             writer.WriteAttribute("name", this.Name);&lt;br /&gt;
             base.Attributes.Remove("name");&lt;br /&gt;
             writer.WriteAttribute("method", this.Method);&lt;br /&gt;
             base.Attributes.Remove("method");&lt;br /&gt;
             this.Attributes.Render(writer);&lt;br /&gt;
             base.Attributes.Remove("action");&lt;br /&gt;
             if (base.ID != null)&lt;br /&gt;
                 writer.WriteAttribute("id", base.ClientID);&lt;br /&gt;
          }&lt;br /&gt;
     }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
创建此类并对其进行编译之后，要在 ASP.NET Web 应用程序中使用它，应首先将其添加到 Web 应用程序的 References 文件夹中。然后，要使用它来代替 HtmlForm 类，做法是在 ASP.NET 网页的顶部添加以下内容：&lt;br /&gt;
&lt;br /&gt;
&amp;lt;%@ Register TagPrefix="skm" Namespace="ActionlessForm" Assembly="ActionlessForm" %&amp;gt;&lt;br /&gt;
然后，将 &amp;lt;form runat="server"&amp;gt;（如果有）替换为：&amp;lt;skm:Form id="Form1" method="post" runat="server"&amp;gt; &lt;br /&gt;
并将右边的 &amp;lt;/form&amp;gt; 标记替换为：&amp;lt;/skm:Form&amp;gt;&lt;br /&gt;
&lt;br /&gt;
个人并不推荐该方法&lt;br /&gt;
（2）第二种方法就是继承page，这样你不需要在aspx页中改任何东西。&lt;br /&gt;
代码：&lt;br /&gt;
using System;&lt;br /&gt;
using System.IO;&lt;br /&gt;
using System.Web;&lt;br /&gt;
using System.Web.UI;&lt;br /&gt;
namespace URL&lt;br /&gt;
{&lt;br /&gt;
     public class OLPage : Page&lt;br /&gt;
     {&lt;br /&gt;
         public OLPage()&lt;br /&gt;
         {}&lt;br /&gt;
         protected override void Render(HtmlTextWriter writer)&lt;br /&gt;
         {&lt;br /&gt;
             if (writer is System.Web.UI.Html32TextWriter)&lt;br /&gt;
             {&lt;br /&gt;
                 writer = new FormFixerHtml32TextWriter(writer.InnerWriter);&lt;br /&gt;
             }&lt;br /&gt;
             else&lt;br /&gt;
             {&lt;br /&gt;
                 writer = new FormFixerHtmlTextWriter(writer.InnerWriter);&lt;br /&gt;
             }&lt;br /&gt;
             base.Render(writer);&lt;br /&gt;
         }&lt;br /&gt;
     }&lt;br /&gt;
&lt;br /&gt;
     internal class FormFixerHtml32TextWriter : System.Web.UI.Html32TextWriter&lt;br /&gt;
     {&lt;br /&gt;
         private string _url; // 假的URL&lt;br /&gt;
&lt;br /&gt;
     internal FormFixerHtml32TextWriter(TextWriter writer):base(writer)&lt;br /&gt;
     {&lt;br /&gt;
         _url = HttpContext.Current.Request.RawUrl;&lt;br /&gt;
     }&lt;br /&gt;
&lt;br /&gt;
     public override void WriteAttribute(string name, string value, bool encode)&lt;br /&gt;
     {&lt;br /&gt;
         if (_url != null &amp;amp;&amp;amp; string.Compare(name, "action", true) == 0)&lt;br /&gt;
         {&lt;br /&gt;
             value = _url;&lt;br /&gt;
         }&lt;br /&gt;
         base.WriteAttribute(name, value, encode);&lt;br /&gt;
&lt;br /&gt;
         }&lt;br /&gt;
     }&lt;br /&gt;
&lt;br /&gt;
internal class FormFixerHtmlTextWriter : System.Web.UI.HtmlTextWriter&lt;br /&gt;
{&lt;br /&gt;
     private string _url;&lt;br /&gt;
     internal FormFixerHtmlTextWriter(TextWriter writer):base(writer)&lt;br /&gt;
     {&lt;br /&gt;
         _url = HttpContext.Current.Request.RawUrl;&lt;br /&gt;
     }&lt;br /&gt;
    &lt;br /&gt;
     public override void WriteAttribute(string name, string value, bool encode)&lt;br /&gt;
     {&lt;br /&gt;
         if (_url != null &amp;amp;&amp;amp; string.Compare(name, "action", true) == 0)&lt;br /&gt;
         {&lt;br /&gt;
             value = _url;&lt;br /&gt;
         }&lt;br /&gt;
         base.WriteAttribute(name, value, encode);&lt;br /&gt;
     }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
把这个文件编译成dll，并在你的项目中引用它。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
然后把项目中的所有aspx文件对应的cs文件中的继承page类的代码改写为继承OLPage。&lt;br /&gt;
例如&lt;br /&gt;
public class WebForm1:page&lt;br /&gt;
改写为&lt;br /&gt;
public class WebForm1:URL.OLPage&lt;br /&gt;
&lt;br /&gt;
这样就解决回发问题。&lt;br /&gt;
编译*.dll方法：/t:library name.cs&lt;br /&gt;&lt;img src="http://blog.hidotnet.com/Databinder/aggbug/13498.aspx" width="1" height="1" /&gt;</description><dc:creator>Databinder</dc:creator></item><item><title>常用IL指令</title><link>http://blog.hidotnet.com/flashccie/archive/2007/11/08/2836.aspx</link><pubDate>Wed, 07 Nov 2007 17:51:38 GMT</pubDate><guid isPermaLink="true">http://blog.hidotnet.com/flashccie/archive/2007/11/08/2836.aspx</guid><wfw:comment>http://blog.hidotnet.com/flashccie/comments/2836.aspx</wfw:comment><wfw:commentRss>http://blog.hidotnet.com/flashccie/comments/commentRss/2836.aspx</wfw:commentRss><comments>http://blog.hidotnet.com/flashccie/archive/2007/11/08/2836.aspx#comment</comments><slash:comments>2354</slash:comments><trackback:ping>http://blog.hidotnet.com/flashccie/services/trackbacks/2836.aspx</trackback:ping><source url="http://blog.hidotnet.com/flashccie/rss.aspx">常用IL指令</source><description>&lt;p&gt;为了今后分析IL代码。先把一个最最常用的指的功能列出来一下：&lt;/p&gt;
&lt;strong&gt;
&lt;h3&gt;&lt;strong&gt;ldstr &lt;/strong&gt;&lt;/h3&gt;
&lt;/strong&gt;
&lt;p&gt;功能：将对字符串的对象引用推送到堆栈上，ldstr 指令推送对表示&lt;font color="#ff0000"&gt;在元数据中存储&lt;/font&gt;的&lt;font color="#ff0022"&gt;特定字符串&lt;/font&gt;的&lt;font color="#ff0044"&gt;新字符串对象&lt;/font&gt;的&lt;font color="#ff0066"&gt;对象引用&lt;/font&gt;（O 类型）。ldstr 指令分配必需的内存量并执行将字符串从在文件中使用的形式转换为在运行时要求的字符串格式所需的任何格式转换。&lt;/p&gt;
&lt;p&gt;搞个示例:Console.WriteLine("Hi Flashccie");&lt;/p&gt;
&lt;p&gt;&lt;font face="Arial"&gt;ldstr "Hi Flashccie"&lt;br /&gt;
call void [mscorlib]System.Console::WriteLine(string)&lt;br /&gt;
ret&lt;br /&gt;
&lt;/font&gt;&lt;/p&gt;
&lt;strong&gt;
&lt;h3&gt;
&lt;p&gt;&lt;strong&gt;ldc.i4 &lt;span class="parameter"&gt;num,,,,idc.i4.0,,,,idc.i4.1................&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;/h3&gt;
&lt;/strong&gt;
&lt;p&gt;功能：将值 &lt;span class="parameter"&gt;num&lt;/span&gt; 推送到堆栈上,对于整数 -128 到 127 有特殊的简短编码（并因此更有效），对于整数 -1 到 8 尤其有特殊的简短编码。所有简短编码都将 4 字节整数推送到堆栈上。如：ldc.i4.0 ,ldc.i4.1,.....等&lt;/p&gt;
&lt;p&gt;较长的编码用于 8 字节整数以及 4 和 8 字节浮点数，并且用于不适合短格式的 4 字节值。有三种方法可以将 8 字节整数常数推送到堆栈上 &lt;/p&gt;
&lt;p&gt;1. 使用 &lt;strong&gt;ldc.i8&lt;/strong&gt;指令用于必须以超过 32 位表示的常数。&lt;/p&gt;
&lt;p&gt;2. 使用 idc.i4 指令（后跟 conv.i8）用于需要 9 到 32 位的常数。&lt;/p&gt;
&lt;p&gt;3. 使用短格式指令（后跟 conv.i8）用于可以 8 位或更少位表示的常数。&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;strong&gt;
&lt;h3&gt;
&lt;p&gt;&lt;strong&gt;stloc &lt;span class="parameter"&gt;index&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;/h3&gt;
&lt;/strong&gt;
&lt;p&gt;功能:从堆栈中弹出值并将其放在局部变量 &lt;span class="parameter"&gt;index&lt;/span&gt; 中。(index最大：65534，从0开始)&lt;/p&gt;
&lt;p&gt;stloc 指令从计算堆栈中弹出位于顶部的值并将其移动到局部变量号 &lt;span class="parameter"&gt;index&lt;/span&gt; 中，其中局部变量从 0 向上进行编号。值的类型必须与当前方法的本地签名所指定的局部变量的类型匹配。&lt;/p&gt;
&lt;p&gt;在将值保存到只能容纳长度小于 4 个字节的整数值的局部变量中时，会在将该值从堆栈移动到局部变量中时将其截断。将浮点值从其本机大小（F 类型）舍入到与该参数关联的大小。&lt;/p&gt;
&lt;p&gt;怎么理解呢？&lt;/p&gt;
&lt;p&gt;比如你在一个方法中定义下以下几个变量：&lt;/p&gt;
&lt;p&gt;int i;&lt;br /&gt;
int i0=new Int();&lt;br /&gt;
哪么就会生成以下IL代码：&lt;/p&gt;
&lt;p&gt;&lt;font face="Arial"&gt;    .locals init (&lt;br /&gt;
        [0] int32 num,&lt;br /&gt;
        [1] int32 num2)&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face="Arial"&gt;L_0000: nop &lt;br /&gt;
    &lt;br /&gt;
//初始化i0为0&lt;br /&gt;
L_0001: ldc.i4.0 //将0推上栈顶&lt;br /&gt;
L_0002: stloc.1 //从堆栈顶部弹出一个值到索引号为1的变量中去&lt;/font&gt;&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt;未完....基本的指令，最少也要求能把简单的一个程序搞完才行。不过，指令相对也不会很多。很晚了。睡去了。。&lt;/p&gt;&lt;img src="http://blog.hidotnet.com/flashccie/aggbug/2836.aspx" width="1" height="1" /&gt;</description><dc:creator>轻舞flash</dc:creator></item><item><title>自己重新重写Equals</title><link>http://blog.hidotnet.com/Databinder/archive/2007/07/03/564.aspx</link><pubDate>Tue, 03 Jul 2007 14:14:56 GMT</pubDate><guid isPermaLink="true">http://blog.hidotnet.com/Databinder/archive/2007/07/03/564.aspx</guid><wfw:comment>http://blog.hidotnet.com/Databinder/comments/564.aspx</wfw:comment><wfw:commentRss>http://blog.hidotnet.com/Databinder/comments/commentRss/564.aspx</wfw:commentRss><comments>http://blog.hidotnet.com/Databinder/archive/2007/07/03/564.aspx#comment</comments><slash:comments>1502</slash:comments><trackback:ping>http://blog.hidotnet.com/Databinder/services/trackbacks/564.aspx</trackback:ping><source url="http://blog.hidotnet.com/Databinder/rss.aspx">自己重新重写Equals</source><description>&lt;p&gt;&lt;span style="font-size: 10pt;"&gt;今天在项目中我自己写了个集合类，由于要存储非常多的数据，所以我想把集合类下载到用户本地，然后在本地再取对象，这样就减少了频繁读取数据库的次数，可是在用到ArrayList的contains的时候，我的对象明明在集合里存在，但是还是返回False ,后来想到ArrayList是引用类型，在每一次实例化的时候对象的内存地址都不一样，本来想遍历集合，但考虑到效率不高，在网上找到可以重写Equals方法,在C#的容器中,常用的三个容器数组,ArrayList, Hashtable..数组比较简单,实现某种单一数据的存储,但是并不能自由插入,移除和容纳不同的对象..,所以ArrayList是数组的替代品, 并且由于ArrayList可以自由的添加,删除,插入,读取,给我们提供了足够大&lt;/span&gt;&lt;span style="font-size: 10pt;"&gt;的自由性,颇得我的青睐..不过使用中,难免有些缺点,感觉最麻烦的就是检测某对象是否在Items中..因为每&lt;/span&gt;&lt;span style="font-size: 10pt;"&gt;一个new出来的Class在内存中的表现不相同,即便是同一个类,你new出来两个,然后再判断,也是会一样的!!所以每次使用ArrayList.Contains()检测对象的时候,难免都得不到自&lt;/span&gt;&lt;span style="font-size: 10pt;"&gt;己想要的结果..因为每个Class都是继承自Object类..而ArrayList.Contains()的实现是IList.Contains,而此方法是调用Class中的Equals方法&lt;/span&gt;&lt;span style="font-size: 10pt;"&gt;判断是否相等,这个时候,可以在自己的对象中覆写Object.Equals方法,以达到自己的目的..&lt;span style="color: red;"&gt;注意&lt;/span&gt;,如果你覆写了&lt;/span&gt;&lt;span style="font-size: 10pt;"&gt;Equals方法,则也要覆写GetHashCode(),因为Equals是用获取Object.GetHashCode()来做判断的.看看下面的代&lt;/span&gt;&lt;span style="font-size: 10pt;"&gt;码就明白:&lt;/span&gt;&lt;/p&gt;
&lt;div style="border: 1px solid rgb(204, 204, 204); padding: 4px 5px 4px 4px; font-size: 13px; width: 98%; background-color: rgb(238, 238, 238);"&gt;&lt;span style="color: rgb(0, 128, 128);"&gt; 1&lt;/span&gt;&lt;img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" alt="" /&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;using&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; System;&lt;br /&gt;
&lt;/span&gt;&lt;span style="color: rgb(0, 128, 128);"&gt; 2&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&lt;img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" alt="" /&gt;&lt;br /&gt;
&lt;/span&gt;&lt;span style="color: rgb(0, 128, 128);"&gt; 3&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&lt;img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" alt="" /&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;namespace&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; HashCode_Test&lt;br /&gt;
&lt;/span&gt;&lt;span style="color: rgb(0, 128, 128);"&gt; 4&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&lt;img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif" onclick="this.style.display='none'; Codehighlighter1_39_928_Open_Text.style.display='none'; Codehighlighter1_39_928_Closed_Image.style.display='inline'; Codehighlighter1_39_928_Closed_Text.style.display='inline';" id="Codehighlighter1_39_928_Open_Image" alt="" /&gt;&lt;img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedBlock.gif" onclick="this.style.display='none'; Codehighlighter1_39_928_Closed_Text.style.display='none'; Codehighlighter1_39_928_Open_Image.style.display='inline'; Codehighlighter1_39_928_Open_Text.style.display='inline';" style="display: none;" id="Codehighlighter1_39_928_Closed_Image" alt="" /&gt;&lt;/span&gt;&lt;span style="border: 1px solid rgb(128, 128, 128); display: none; background-color: rgb(255, 255, 255);" id="Codehighlighter1_39_928_Closed_Text"&gt;&lt;img src="http://www.cnblogs.com/Images/dot.gif" alt="" /&gt;&lt;/span&gt;&lt;span id="Codehighlighter1_39_928_Open_Text"&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;{&lt;br /&gt;
&lt;/span&gt;&lt;span style="color: rgb(0, 128, 128);"&gt; 5&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&lt;img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" onclick="this.style.display='none'; Codehighlighter1_41_91_Open_Text.style.display='none'; Codehighlighter1_41_91_Closed_Image.style.display='inline'; Codehighlighter1_41_91_Closed_Text.style.display='inline';" id="Codehighlighter1_41_91_Open_Image" alt="" /&gt;&lt;img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif" onclick="this.style.display='none'; Codehighlighter1_41_91_Closed_Text.style.display='none'; Codehighlighter1_41_91_Open_Image.style.display='inline'; Codehighlighter1_41_91_Open_Text.style.display='inline';" style="display: none;" id="Codehighlighter1_41_91_Closed_Image" alt="" /&gt;&lt;/span&gt;&lt;span style="border: 1px solid rgb(128, 128, 128); display: none; background-color: rgb(255, 255, 255);" id="Codehighlighter1_41_91_Closed_Text"&gt;/**/&lt;/span&gt;&lt;span id="Codehighlighter1_41_91_Open_Text"&gt;&lt;span style="color: rgb(128, 128, 128);"&gt;///&lt;/span&gt;&lt;span style="color: rgb(0, 128, 0);"&gt; &lt;/span&gt;&lt;span style="color: rgb(128, 128, 128);"&gt;&amp;lt;summary&amp;gt;&lt;/span&gt;&lt;span style="color: rgb(0, 128, 0);"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;span style="color: rgb(0, 128, 128);"&gt; 6&lt;/span&gt;&lt;span style="color: rgb(0, 128, 0);"&gt;&lt;img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" alt="" /&gt;&lt;/span&gt;&lt;span style="color: rgb(128, 128, 128);"&gt;///&lt;/span&gt;&lt;span style="color: rgb(0, 128, 0);"&gt;        给你的类加入Equals,测试类&lt;br /&gt;
&lt;/span&gt;&lt;span style="color: rgb(0, 128, 128);"&gt; 7&lt;/span&gt;&lt;span style="color: rgb(0, 128, 0);"&gt;&lt;img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" alt="" /&gt;&lt;/span&gt;&lt;span style="color: rgb(128, 128, 128);"&gt;///&lt;/span&gt;&lt;span style="color: rgb(0, 128, 0);"&gt; &lt;/span&gt;&lt;span style="color: rgb(128, 128, 128);"&gt;&amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;span style="color: rgb(128, 128, 128);"&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: rgb(0, 128, 128);"&gt; 8&lt;/span&gt;&lt;img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" alt="" /&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;public&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;class&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; Class2&lt;br /&gt;
&lt;/span&gt;&lt;span style="color: rgb(0, 128, 128);"&gt; 9&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&lt;img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" onclick="this.style.display='none'; Codehighlighter1_112_926_Open_Text.style.display='none'; Codehighlighter1_112_926_Closed_Image.style.display='inline'; Codehighlighter1_112_926_Closed_Text.style.display='inline';" id="Codehighlighter1_112_926_Open_Image" alt="" /&gt;&lt;img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif" onclick="this.style.display='none'; Codehighlighter1_112_926_Closed_Text.style.display='none'; Codehighlighter1_112_926_Open_Image.style.display='inline'; Codehighlighter1_112_926_Open_Text.style.display='inline';" style="display: none;" id="Codehighlighter1_112_926_Closed_Image" alt="" /&gt;&lt;/span&gt;&lt;span style="border: 1px solid rgb(128, 128, 128); display: none; background-color: rgb(255, 255, 255);" id="Codehighlighter1_112_926_Closed_Text"&gt;&lt;img src="http://www.cnblogs.com/Images/dot.gif" alt="" /&gt;&lt;/span&gt;&lt;span id="Codehighlighter1_112_926_Open_Text"&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;{&lt;br /&gt;
&lt;/span&gt;&lt;span style="color: rgb(0, 128, 128);"&gt;10&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&lt;img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" alt="" /&gt;    &lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;int&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; myHashCode &lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;=&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;0&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;;&lt;br /&gt;
&lt;/span&gt;&lt;span style="color: rgb(0, 128, 128);"&gt;11&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&lt;img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" alt="" /&gt;    &lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;public&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; Class2( &lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;int&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; id )    &lt;/span&gt;&lt;span style="color: rgb(0, 128, 0);"&gt;//&lt;/span&gt;&lt;span style="color: rgb(0, 128, 0);"&gt;传递进一个int,作为GetHashCode的值&lt;/span&gt;&lt;span style="color: rgb(0, 128, 0);"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;span style="color: rgb(0, 128, 128);"&gt;12&lt;/span&gt;&lt;span style="color: rgb(0, 128, 0);"&gt;&lt;img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" onclick="this.style.display='none'; Codehighlighter1_188_210_Open_Text.style.display='none'; Codehighlighter1_188_210_Closed_Image.style.display='inline'; Codehighlighter1_188_210_Closed_Text.style.display='inline';" id="Codehighlighter1_188_210_Open_Image" alt="" /&gt;&lt;img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif" onclick="this.style.display='none'; Codehighlighter1_188_210_Closed_Text.style.display='none'; Codehighlighter1_188_210_Open_Image.style.display='inline'; Codehighlighter1_188_210_Open_Text.style.display='inline';" style="display: none;" id="Codehighlighter1_188_210_Closed_Image" alt="" /&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;    &lt;/span&gt;&lt;span style="border: 1px solid rgb(128, 128, 128); display: none; background-color: rgb(255, 255, 255);" id="Codehighlighter1_188_210_Closed_Text"&gt;&lt;img src="http://www.cnblogs.com/Images/dot.gif" alt="" /&gt;&lt;/span&gt;&lt;span id="Codehighlighter1_188_210_Open_Text"&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;{&lt;br /&gt;
&lt;/span&gt;&lt;span style="color: rgb(0, 128, 128);"&gt;13&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&lt;img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" alt="" /&gt;        myHashCode &lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;=&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; id;&lt;br /&gt;
&lt;/span&gt;&lt;span style="color: rgb(0, 128, 128);"&gt;14&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&lt;img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" alt="" /&gt;    }&lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;span style="color: rgb(0, 128, 128);"&gt;15&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&lt;img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" alt="" /&gt;        &lt;br /&gt;
&lt;/span&gt;&lt;span style="color: rgb(0, 128, 128);"&gt;16&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&lt;img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" alt="" /&gt;    &lt;/span&gt;&lt;span style="color: rgb(0, 128, 0);"&gt;//&lt;/span&gt;&lt;span style="color: rgb(0, 128, 0);"&gt;覆写GetHashCode,关键的一步&lt;/span&gt;&lt;span style="color: rgb(0, 128, 0);"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;span style="color: rgb(0, 128, 128);"&gt;17&lt;/span&gt;&lt;span style="color: rgb(0, 128, 0);"&gt;&lt;img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" alt="" /&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;    &lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;public&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;override&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;int&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; GetHashCode()    &lt;br /&gt;
&lt;/span&gt;&lt;span style="color: rgb(0, 128, 128);"&gt;18&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&lt;img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" onclick="this.style.display='none'; Codehighlighter1_275_299_Open_Text.style.display='none'; Codehighlighter1_275_299_Closed_Image.style.display='inline'; Codehighlighter1_275_299_Closed_Text.style.display='inline';" id="Codehighlighter1_275_299_Open_Image" alt="" /&gt;&lt;img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif" onclick="this.style.display='none'; Codehighlighter1_275_299_Closed_Text.style.display='none'; Codehighlighter1_275_299_Open_Image.style.display='inline'; Codehighlighter1_275_299_Open_Text.style.display='inline';" style="display: none;" id="Codehighlighter1_275_299_Closed_Image" alt="" /&gt;    &lt;/span&gt;&lt;span style="border: 1px solid rgb(128, 128, 128); display: none; background-color: rgb(255, 255, 255);" id="Codehighlighter1_275_299_Closed_Text"&gt;&lt;img src="http://www.cnblogs.com/Images/dot.gif" alt="" /&gt;&lt;/span&gt;&lt;span id="Codehighlighter1_275_299_Open_Text"&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;{&lt;br /&gt;
&lt;/span&gt;&lt;span style="color: rgb(0, 128, 128);"&gt;19&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&lt;img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" alt="" /&gt;        &lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;return&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; myHashCode;&lt;br /&gt;
&lt;/span&gt;&lt;span style="color: rgb(0, 128, 128);"&gt;20&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&lt;img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" alt="" /&gt;    }&lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;span style="color: rgb(0, 128, 128);"&gt;21&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&lt;img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" alt="" /&gt;        &lt;br /&gt;
&lt;/span&gt;&lt;span style="color: rgb(0, 128, 128);"&gt;22&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&lt;img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" alt="" /&gt;    &lt;/span&gt;&lt;span style="color: rgb(0, 128, 0);"&gt;//&lt;/span&gt;&lt;span style="color: rgb(0, 128, 0);"&gt;这步,可有可无,主要是做测试结果用的&lt;/span&gt;&lt;span style="color: rgb(0, 128, 0);"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;span style="color: rgb(0, 128, 128);"&gt;23&lt;/span&gt;&lt;span style="color: rgb(0, 128, 0);"&gt;&lt;img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" alt="" /&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;    &lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;public&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;override&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;string&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; ToString()    &lt;br /&gt;
&lt;/span&gt;&lt;span style="color: rgb(0, 128, 128);"&gt;24&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&lt;img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" onclick="this.style.display='none'; Codehighlighter1_363_400_Open_Text.style.display='none'; Codehighlighter1_363_400_Closed_Image.style.display='inline'; Codehighlighter1_363_400_Closed_Text.style.display='inline';" id="Codehighlighter1_363_400_Open_Image" alt="" /&gt;&lt;img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif" onclick="this.style.display='none'; Codehighlighter1_363_400_Closed_Text.style.display='none'; Codehighlighter1_363_400_Open_Image.style.display='inline'; Codehighlighter1_363_400_Open_Text.style.display='inline';" style="display: none;" id="Codehighlighter1_363_400_Closed_Image" alt="" /&gt;    &lt;/span&gt;&lt;span style="border: 1px solid rgb(128, 128, 128); display: none; background-color: rgb(255, 255, 255);" id="Codehighlighter1_363_400_Closed_Text"&gt;&lt;img src="http://www.cnblogs.com/Images/dot.gif" alt="" /&gt;&lt;/span&gt;&lt;span id="Codehighlighter1_363_400_Open_Text"&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;{&lt;br /&gt;
&lt;/span&gt;&lt;span style="color: rgb(0, 128, 128);"&gt;25&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&lt;img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" alt="" /&gt;        &lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;return&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; DateTime.Now.ToString();&lt;br /&gt;
&lt;/span&gt;&lt;span style="color: rgb(0, 128, 128);"&gt;26&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&lt;img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" alt="" /&gt;    }&lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;span style="color: rgb(0, 128, 128);"&gt;27&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&lt;img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" alt="" /&gt;        &lt;br /&gt;
&lt;/span&gt;&lt;span style="color: rgb(0, 128, 128);"&gt;28&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&lt;img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" onclick="this.style.display='none'; Codehighlighter1_406_544_Open_Text.style.display='none'; Codehighlighter1_406_544_Closed_Image.style.display='inline'; Codehighlighter1_406_544_Closed_Text.style.display='inline';" id="Codehighlighter1_406_544_Open_Image" alt="" /&gt;&lt;img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif" onclick="this.style.display='none'; Codehighlighter1_406_544_Closed_Text.style.display='none'; Codehighlighter1_406_544_Open_Image.style.display='inline'; Codehighlighter1_406_544_Open_Text.style.display='inline';" style="display: none;" id="Codehighlighter1_406_544_Closed_Image" alt="" /&gt;    &lt;/span&gt;&lt;span style="border: 1px solid rgb(128, 128, 128); display: none; background-color: rgb(255, 255, 255);" id="Codehighlighter1_406_544_Closed_Text"&gt;/**/&lt;/span&gt;&lt;span id="Codehighlighter1_406_544_Open_Text"&gt;&lt;span style="color: rgb(128, 128, 128);"&gt;///&lt;/span&gt;&lt;span style="color: rgb(0, 128, 0);"&gt; &lt;/span&gt;&lt;span style="color: rgb(128, 128, 128);"&gt;&amp;lt;summary&amp;gt;&lt;/span&gt;&lt;span style="color: rgb(0, 128, 0);"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;span style="color: rgb(0, 128, 128);"&gt;29&lt;/span&gt;&lt;span style="color: rgb(0, 128, 0);"&gt;&lt;img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" alt="" /&gt;    &lt;/span&gt;&lt;span style="color: rgb(128, 128, 128);"&gt;///&lt;/span&gt;&lt;span style="color: rgb(0, 128, 0);"&gt;        重载了Equals方法,这步和GetHashCode配合起来才会有效果&lt;br /&gt;
&lt;/span&gt;&lt;span style="color: rgb(0, 128, 128);"&gt;30&lt;/span&gt;&lt;span style="color: rgb(0, 128, 0);"&gt;&lt;img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" alt="" /&gt;    &lt;/span&gt;&lt;span style="color: rgb(128, 128, 128);"&gt;///&lt;/span&gt;&lt;span style="color: rgb(0, 128, 0);"&gt; &lt;/span&gt;&lt;span style="color: rgb(128, 128, 128);"&gt;&amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;span style="color: rgb(0, 128, 0);"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;span style="color: rgb(0, 128, 128);"&gt;31&lt;/span&gt;&lt;span style="color: rgb(0, 128, 0);"&gt;&lt;img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" alt="" /&gt;    &lt;/span&gt;&lt;span style="color: rgb(128, 128, 128);"&gt;///&lt;/span&gt;&lt;span style="color: rgb(0, 128, 0);"&gt; &lt;/span&gt;&lt;span style="color: rgb(128, 128, 128);"&gt;&amp;lt;param name="o"&amp;gt;&lt;/span&gt;&lt;span style="color: rgb(0, 128, 0);"&gt;要检测的对象&lt;/span&gt;&lt;span style="color: rgb(128, 128, 128);"&gt;&amp;lt;/param&amp;gt;&lt;/span&gt;&lt;span style="color: rgb(0, 128, 0);"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;span style="color: rgb(0, 128, 128);"&gt;32&lt;/span&gt;&lt;span style="color: rgb(0, 128, 0);"&gt;&lt;img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" alt="" /&gt;    &lt;/span&gt;&lt;span style="color: rgb(128, 128, 128);"&gt;///&lt;/span&gt;&lt;span style="color: rgb(0, 128, 0);"&gt; &lt;/span&gt;&lt;span style="color: rgb(128, 128, 128);"&gt;&amp;lt;returns&amp;gt;&lt;/span&gt;&lt;span style="color: rgb(0, 128, 0);"&gt;返回是否相同&lt;/span&gt;&lt;span style="color: rgb(128, 128, 128);"&gt;&amp;lt;/returns&amp;gt;&lt;/span&gt;&lt;span style="color: rgb(128, 128, 128);"&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: rgb(0, 128, 128);"&gt;33&lt;/span&gt;&lt;img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" alt="" /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;    &lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;public&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;override&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;bool&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; Equals( &lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;object&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; o )    &lt;br /&gt;
&lt;/span&gt;&lt;span style="color: rgb(0, 128, 128);"&gt;34&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&lt;img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" onclick="this.style.display='none'; Codehighlighter1_588_631_Open_Text.style.display='none'; Codehighlighter1_588_631_Closed_Image.style.display='inline'; Codehighlighter1_588_631_Closed_Text.style.display='inline';" id="Codehighlighter1_588_631_Open_Image" alt="" /&gt;&lt;img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif" onclick="this.style.display='none'; Codehighlighter1_588_631_Closed_Text.style.display='none'; Codehighlighter1_588_631_Open_Image.style.display='inline'; Codehighlighter1_588_631_Open_Text.style.display='inline';" style="display: none;" id="Codehighlighter1_588_631_Closed_Image" alt="" /&gt;    &lt;/span&gt;&lt;span style="border: 1px solid rgb(128, 128, 128); display: none; background-color: rgb(255, 255, 255);" id="Codehighlighter1_588_631_Closed_Text"&gt;&lt;img src="http://www.cnblogs.com/Images/dot.gif" alt="" /&gt;&lt;/span&gt;&lt;span id="Codehighlighter1_588_631_Open_Text"&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;{&lt;br /&gt;
&lt;/span&gt;&lt;span style="color: rgb(0, 128, 128);"&gt;35&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&lt;img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" alt="" /&gt;        &lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;return&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; o.GetHashCode() &lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;==&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; myHashCode;&lt;br /&gt;
&lt;/span&gt;&lt;span style="color: rgb(0, 128, 128);"&gt;36&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&lt;img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" alt="" /&gt;    }&lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;span style="color: rgb(0, 128, 128);"&gt;37&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&lt;img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" alt="" /&gt;&lt;br /&gt;
&lt;/span&gt;&lt;span style="color: rgb(0, 128, 128);"&gt;38&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&lt;img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" alt="" /&gt;    &lt;/span&gt;&lt;span style="color: rgb(0, 128, 0);"&gt;//&lt;/span&gt;&lt;span style="color: rgb(0, 128, 0);"&gt;在这里使用运算符重载,主要是为了进一步演示Equals&lt;/span&gt;&lt;span style="color: rgb(0, 128, 0);"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;span style="color: rgb(0, 128, 128);"&gt;39&lt;/span&gt;&lt;span style="color: rgb(0, 128, 0);"&gt;&lt;img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" alt="" /&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;    &lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;public&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;static&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;bool&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;operator&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;==&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;object&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; c1, Class2 c2) &lt;br /&gt;
&lt;/span&gt;&lt;span style="color: rgb(0, 128, 128);"&gt;40&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&lt;img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" onclick="this.style.display='none'; Codehighlighter1_721_778_Open_Text.style.display='none'; Codehighlighter1_721_778_Closed_Image.style.display='inline'; Codehighlighter1_721_778_Closed_Text.style.display='inline';" id="Codehighlighter1_721_778_Open_Image" alt="" /&gt;&lt;img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif" onclick="this.style.display='none'; Codehighlighter1_721_778_Closed_Text.style.display='none'; Codehighlighter1_721_778_Open_Image.style.display='inline'; Codehighlighter1_721_778_Open_Text.style.display='inline';" style="display: none;" id="Codehighlighter1_721_778_Closed_Image" alt="" /&gt;    &lt;/span&gt;&lt;span style="border: 1px solid rgb(128, 128, 128); display: none; background-color: rgb(255, 255, 255);" id="Codehighlighter1_721_778_Closed_Text"&gt;&lt;img src="http://www.cnblogs.com/Images/dot.gif" alt="" /&gt;&lt;/span&gt;&lt;span id="Codehighlighter1_721_778_Open_Text"&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;{&lt;br /&gt;
&lt;/span&gt;&lt;span style="color: rgb(0, 128, 128);"&gt;41&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&lt;img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" alt="" /&gt;        &lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;return&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; c1.GetHashCode().Equals( c2.GetHashCode() );&lt;br /&gt;
&lt;/span&gt;&lt;span style="color: rgb(0, 128, 128);"&gt;42&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&lt;img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" alt="" /&gt;    }&lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;span style="color: rgb(0, 128, 128);"&gt;43&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&lt;img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" alt="" /&gt;    &lt;br /&gt;
&lt;/span&gt;&lt;span style="color: rgb(0, 128, 128);"&gt;44&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&lt;img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" alt="" /&gt;    &lt;/span&gt;&lt;span style="color: rgb(0, 128, 0);"&gt;//&lt;/span&gt;&lt;span style="color: rgb(0, 128, 0);"&gt;当你重载了==运算符后,必须要重载!=运算符&lt;/span&gt;&lt;span style="color: rgb(0, 128, 0);"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;span style="color: rgb(0, 128, 128);"&gt;45&lt;/span&gt;&lt;span style="color: rgb(0, 128, 0);"&gt;&lt;img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" alt="" /&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;    &lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;public&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;static&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;bool&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;operator&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;!=&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;object&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; c1, Class2 c2) &lt;br /&gt;
&lt;/span&gt;&lt;span style="color: rgb(0, 128, 128);"&gt;46&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&lt;img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" onclick="this.style.display='none'; Codehighlighter1_864_921_Open_Text.style.display='none'; Codehighlighter1_864_921_Closed_Image.style.display='inline'; Codehighlighter1_864_921_Closed_Text.style.display='inline';" id="Codehighlighter1_864_921_Open_Image" alt="" /&gt;&lt;img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif" onclick="this.style.display='none'; Codehighlighter1_864_921_Closed_Text.style.display='none'; Codehighlighter1_864_921_Open_Image.style.display='inline'; Codehighlighter1_864_921_Open_Text.style.display='inline';" style="display: none;" id="Codehighlighter1_864_921_Closed_Image" alt="" /&gt;    &lt;/span&gt;&lt;span style="border: 1px solid rgb(128, 128, 128); display: none; background-color: rgb(255, 255, 255);" id="Codehighlighter1_864_921_Closed_Text"&gt;&lt;img src="http://www.cnblogs.com/Images/dot.gif" alt="" /&gt;&lt;/span&gt;&lt;span id="Codehighlighter1_864_921_Open_Text"&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;{&lt;br /&gt;
&lt;/span&gt;&lt;span style="color: rgb(0, 128, 128);"&gt;47&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&lt;img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" alt="" /&gt;        &lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;return&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; c1.GetHashCode().Equals( c2.GetHashCode() );&lt;br /&gt;
&lt;/span&gt;&lt;span style="color: rgb(0, 128, 128);"&gt;48&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&lt;img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" alt="" /&gt;    }&lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;span style="color: rgb(0, 128, 128);"&gt;49&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&lt;img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" alt="" /&gt;        &lt;br /&gt;
&lt;/span&gt;&lt;span style="color: rgb(0, 128, 128);"&gt;50&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&lt;img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" alt="" /&gt;}&lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;span style="color: rgb(0, 128, 128);"&gt;51&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&lt;img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockEnd.gif" alt="" /&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;span style="color: red;"&gt;&lt;strong&gt;这里是测试代码:&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;div style="border: 1px solid rgb(204, 204, 204); padding: 4px 5px 4px 4px; font-size: 13px; width: 98%; background-color: rgb(238, 238, 238);"&gt;&lt;span style="color: rgb(0, 128, 128);"&gt; 1&lt;/span&gt;&lt;img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" alt="" /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;System.Collections.ArrayList arr &lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;=&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;new&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; System.Collections.ArrayList();&lt;br /&gt;
&lt;/span&gt;&lt;span style="color: rgb(0, 128, 128);"&gt; 2&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&lt;img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" alt="" /&gt;&lt;br /&gt;
&lt;/span&gt;&lt;span style="color: rgb(0, 128, 128);"&gt; 3&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&lt;img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" alt="" /&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;int&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; i &lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;=&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;0&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;;&lt;br /&gt;
&lt;/span&gt;&lt;span style="color: rgb(0, 128, 128);"&gt; 4&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&lt;img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif" onclick="this.style.display='none'; Codehighlighter1_111_177_Open_Text.style.display='none'; Codehighlighter1_111_177_Closed_Image.style.display='inline'; Codehighlighter1_111_177_Closed_Text.style.display='inline';" id="Codehighlighter1_111_177_Open_Image" alt="" /&gt;&lt;img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedBlock.gif" onclick="this.style.display='none'; Codehighlighter1_111_177_Closed_Text.style.display='none'; Codehighlighter1_111_177_Open_Image.style.display='inline'; Codehighlighter1_111_177_Open_Text.style.display='inline';" style="display: none;" id="Codehighlighter1_111_177_Closed_Image" alt="" /&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;for&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; ( i &lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;=&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;0&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;; i &lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;4&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; ; i &lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;++&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; ) &lt;/span&gt;&lt;span style="border: 1px solid rgb(128, 128, 128); display: none; background-color: rgb(255, 255, 255);" id="Codehighlighter1_111_177_Closed_Text"&gt;&lt;img src="http://www.cnblogs.com/Images/dot.gif" alt="" /&gt;&lt;/span&gt;&lt;span id="Codehighlighter1_111_177_Open_Text"&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;{&lt;br /&gt;
&lt;/span&gt;&lt;span style="color: rgb(0, 128, 128);"&gt; 5&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&lt;img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" alt="" /&gt;    Class2 class2 &lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;=&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;new&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; Class2(i);        &lt;/span&gt;&lt;span style="color: rgb(0, 128, 0);"&gt;//&lt;/span&gt;&lt;span style="color: rgb(0, 128, 0);"&gt;我们添加四个对象&lt;/span&gt;&lt;span style="color: rgb(0, 128, 0);"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;span style="color: rgb(0, 128, 128);"&gt; 6&lt;/span&gt;&lt;span style="color: rgb(0, 128, 0);"&gt;&lt;img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" alt="" /&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;    arr.Add( class2 );&lt;br /&gt;
&lt;/span&gt;&lt;span style="color: rgb(0, 128, 128);"&gt; 7&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&lt;img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockEnd.gif" alt="" /&gt;}&lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;span style="color: rgb(0, 128, 128);"&gt; 8&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&lt;img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" alt="" /&gt;&lt;br /&gt;
&lt;/span&gt;&lt;span style="color: rgb(0, 128, 128);"&gt; 9&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&lt;img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" alt="" /&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;for&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; ( i &lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;=&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;0&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;; i &lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;4&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; ; i &lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;++&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; ) &lt;br /&gt;
&lt;/span&gt;&lt;span style="color: rgb(0, 128, 128);"&gt;10&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&lt;img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif" onclick="this.style.display='none'; Codehighlighter1_209_332_Open_Text.style.display='none'; Codehighlighter1_209_332_Closed_Image.style.display='inline'; Codehighlighter1_209_332_Closed_Text.style.display='inline';" id="Codehighlighter1_209_332_Open_Image" alt="" /&gt;&lt;img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedBlock.gif" onclick="this.style.display='none'; Codehighlighter1_209_332_Closed_Text.style.display='none'; Codehighlighter1_209_332_Open_Image.style.display='inline'; Codehighlighter1_209_332_Open_Text.style.display='inline';" style="display: none;" id="Codehighlighter1_209_332_Closed_Image" alt="" /&gt;&lt;/span&gt;&lt;span style="border: 1px solid rgb(128, 128, 128); display: none; background-color: rgb(255, 255, 255);" id="Codehighlighter1_209_332_Closed_Text"&gt;&lt;img src="http://www.cnblogs.com/Images/dot.gif" alt="" /&gt;&lt;/span&gt;&lt;span id="Codehighlighter1_209_332_Open_Text"&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;{&lt;br /&gt;
&lt;/span&gt;&lt;span style="color: rgb(0, 128, 128);"&gt;11&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&lt;img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" alt="" /&gt;    Class2 class2 &lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;=&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;new&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; Class2(i);        &lt;/span&gt;&lt;span style="color: rgb(0, 128, 0);"&gt;//&lt;/span&gt;&lt;span style="color: rgb(0, 128, 0);"&gt;重新创建四个对象,判断是否和容器中的对象相等&lt;/span&gt;&lt;span style="color: rgb(0, 128, 0);"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;span style="color: rgb(0, 128, 128);"&gt;12&lt;/span&gt;&lt;span style="color: rgb(0, 128, 0);"&gt;&lt;img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" alt="" /&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;    Console.WriteLine( i &lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;+&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;"&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;:&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;"&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;+&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; arr.Contains(class2));&lt;/span&gt;&lt;span style="color: rgb(0, 128, 0);"&gt;//&lt;/span&gt;&lt;span style="color: rgb(0, 128, 0);"&gt;全部输出true&lt;/span&gt;&lt;span style="color: rgb(0, 128, 0);"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;span style="color: rgb(0, 128, 128);"&gt;13&lt;/span&gt;&lt;span style="color: rgb(0, 128, 0);"&gt;&lt;img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockEnd.gif" alt="" /&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;}&lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;span style="color: rgb(0, 128, 128);"&gt;14&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&lt;img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" alt="" /&gt;&lt;br /&gt;
&lt;/span&gt;&lt;span style="color: rgb(0, 128, 128);"&gt;15&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&lt;img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" alt="" /&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 128, 0);"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;span style="color: rgb(0, 128, 128);"&gt;16&lt;/span&gt;&lt;span style="color: rgb(0, 128, 0);"&gt;&lt;img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" alt="" /&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;span style="color: rgb(0, 128, 128);"&gt;17&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&lt;img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" alt="" /&gt;Class2 class2_1 &lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;=&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;new&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; Class2(&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;1&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;);    &lt;/span&gt;&lt;span style="color: rgb(0, 128, 0);"&gt;//&lt;/span&gt;&lt;span style="color: rgb(0, 128, 0);"&gt;再创建对象1,并添加到容器中,以判断是否有多个对象1存在&lt;/span&gt;&lt;span style="color: rgb(0, 128, 0);"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;span style="color: rgb(0, 128, 128);"&gt;18&lt;/span&gt;&lt;span style="color: rgb(0, 128, 0);"&gt;&lt;img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" alt="" /&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;arr.Add( class2_1  );                &lt;br /&gt;
&lt;/span&gt;&lt;span style="color: rgb(0, 128, 128);"&gt;19&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&lt;img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" alt="" /&gt;&lt;br /&gt;
&lt;/span&gt;&lt;span style="color: rgb(0, 128, 128);"&gt;20&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&lt;img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif" onclick="this.style.display='none'; Codehighlighter1_516_872_Open_Text.style.display='none'; Codehighlighter1_516_872_Closed_Image.style.display='inline'; Codehighlighter1_516_872_Closed_Text.style.display='inline';" id="Codehighlighter1_516_872_Open_Image" alt="" /&gt;&lt;img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedBlock.gif" onclick="this.style.display='none'; Codehighlighter1_516_872_Closed_Text.style.display='none'; Codehighlighter1_516_872_Open_Image.style.display='inline'; Codehighlighter1_516_872_Open_Text.style.display='inline';" style="display: none;" id="Codehighlighter1_516_872_Closed_Image" alt="" /&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;for&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; ( i &lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;=&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;0&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;;i&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;arr.Count;i&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;++&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;  ) &lt;/span&gt;&lt;span style="border: 1px solid rgb(128, 128, 128); display: none; background-color: rgb(255, 255, 255);" id="Codehighlighter1_516_872_Closed_Text"&gt;&lt;img src="http://www.cnblogs.com/Images/dot.gif" alt="" /&gt;&lt;/span&gt;&lt;span id="Codehighlighter1_516_872_Open_Text"&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;{&lt;br /&gt;
&lt;/span&gt;&lt;span style="color: rgb(0, 128, 128);"&gt;21&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&lt;img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" alt="" /&gt;    Class2 class2_3 &lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;=&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;new&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; Class2(&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;1&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;);&lt;/span&gt;&lt;span style="color: rgb(0, 128, 0);"&gt;//&lt;/span&gt;&lt;span style="color: rgb(0, 128, 0);"&gt;这个时候我们要检测出容器中有多少个对象1&lt;/span&gt;&lt;span style="color: rgb(0, 128, 0);"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;span style="color: rgb(0, 128, 128);"&gt;22&lt;/span&gt;&lt;span style="color: rgb(0, 128, 0);"&gt;&lt;img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" onclick="this.style.display='none'; Codehighlighter1_608_670_Open_Text.style.display='none'; Codehighlighter1_608_670_Closed_Image.style.display='inline'; Codehighlighter1_608_670_Closed_Text.style.display='inline';" id="Codehighlighter1_608_670_Open_Image" alt="" /&gt;&lt;img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif" onclick="this.style.display='none'; Codehighlighter1_608_670_Closed_Text.style.display='none'; Codehighlighter1_608_670_Open_Image.style.display='inline'; Codehighlighter1_608_670_Open_Text.style.display='inline';" style="display: none;" id="Codehighlighter1_608_670_Closed_Image" alt="" /&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;    &lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;if&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; ( arr[i].Equals( class2_3 ) ) &lt;/span&gt;&lt;span style="border: 1px solid rgb(128, 128, 128); display: none; background-color: rgb(255, 255, 255);" id="Codehighlighter1_608_670_Closed_Text"&gt;&lt;img src="http://www.cnblogs.com/Images/dot.gif" alt="" /&gt;&lt;/span&gt;&lt;span id="Codehighlighter1_608_670_Open_Text"&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;{&lt;/span&gt;&lt;span style="color: rgb(0, 128, 0);"&gt;//&lt;/span&gt;&lt;span style="color: rgb(0, 128, 0);"&gt;我们用Equals来检测是否相等&lt;/span&gt;&lt;span style="color: rgb(0, 128, 0);"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;span style="color: rgb(0, 128, 128);"&gt;23&lt;/span&gt;&lt;span style="color: rgb(0, 128, 0);"&gt;&lt;img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" alt="" /&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;        Console.WriteLine( &lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;"&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;我用Equals找到\t&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;"&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;  );&lt;br /&gt;
&lt;/span&gt;&lt;span style="color: rgb(0, 128, 128);"&gt;24&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&lt;img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" alt="" /&gt;    }&lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;span style="color: rgb(0, 128, 128);"&gt;25&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&lt;img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" alt="" /&gt;    &lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;if&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; ( arr[i] &lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;==&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; class2_3  )            &lt;/span&gt;&lt;span style="color: rgb(0, 128, 0);"&gt;//&lt;/span&gt;&lt;span style="color: rgb(0, 128, 0);"&gt;我们用==来检测相等&lt;/span&gt;&lt;span style="color: rgb(0, 128, 0);"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;span style="color: rgb(0, 128, 128);"&gt;26&lt;/span&gt;&lt;span style="color: rgb(0, 128, 0);"&gt;&lt;img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" onclick="this.style.display='none'; Codehighlighter1_716_756_Open_Text.style.display='none'; Codehighlighter1_716_756_Closed_Image.style.display='inline'; Codehighlighter1_716_756_Closed_Text.style.display='inline';" id="Codehighlighter1_716_756_Open_Image" alt="" /&gt;&lt;img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif" onclick="this.style.display='none'; Codehighlighter1_716_756_Closed_Text.style.display='none'; Codehighlighter1_716_756_Open_Image.style.display='inline'; Codehighlighter1_716_756_Open_Text.style.display='inline';" style="display: none;" id="Codehighlighter1_716_756_Closed_Image" alt="" /&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;    &lt;/span&gt;&lt;span style="border: 1px solid rgb(128, 128, 128); display: none; background-color: rgb(255, 255, 255);" id="Codehighlighter1_716_756_Closed_Text"&gt;&lt;img src="http://www.cnblogs.com/Images/dot.gif" alt="" /&gt;&lt;/span&gt;&lt;span id="Codehighlighter1_716_756_Open_Text"&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;{&lt;br /&gt;
&lt;/span&gt;&lt;span style="color: rgb(0, 128, 128);"&gt;27&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&lt;img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" alt="" /&gt;        Console.WriteLine( &lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;"&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;我用==找到\t&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;"&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;  );&lt;br /&gt;
&lt;/span&gt;&lt;span style="color: rgb(0, 128, 128);"&gt;28&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&lt;img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" alt="" /&gt;    }&lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;span style="color: rgb(0, 128, 128);"&gt;29&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&lt;img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" alt="" /&gt;    Console.WriteLine( arr[i].ToString() &lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;+&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;"&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;\t HashCode:&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;"&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;+&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; arr[i] .GetHashCode());            &lt;/span&gt;&lt;span style="color: rgb(0, 128, 0);"&gt;//&lt;/span&gt;&lt;span style="color: rgb(0, 128, 0);"&gt;这里输出HashCode和ToString()查看&lt;/span&gt;&lt;span style="color: rgb(0, 128, 0);"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;span style="color: rgb(0, 128, 128);"&gt;30&lt;/span&gt;&lt;span style="color: rgb(0, 128, 0);"&gt;&lt;img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" alt="" /&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;    &lt;br /&gt;
&lt;/span&gt;&lt;span style="color: rgb(0, 128, 128);"&gt;31&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&lt;img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockEnd.gif" alt="" /&gt;}&lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;span style="color: rgb(0, 128, 128);"&gt;32&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&lt;img align="top" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" alt="" /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
相 信上面的代码很容易看的懂..在我的Class2类中覆写了GetHashCode() ,ToString() ,Equals(object o),并重载了==运算符和!=运算符..将传递的id作为HashCode,然后判断当前传递的对象Object.GetHashCode是否等于当前 对象的GetHashCode..这样就解决了ArrayList.Contains不能对Class做出正确判断的问题..&lt;br /&gt;
&lt;br /&gt;
另外,还有 一个容器Hashtable的使用和判断,并不能用上面的方法解决..因为Hashtable.Contains的实现方法是 IDictionary.Contains来做判断..需要实现IDictionary接口的方法才可以.因为牵涉到的内容比较多.所以不能在这里全部写 完..关于具体的方法和实现,我会找时间写出来的..&lt;br /&gt;
&lt;br /&gt;
最后大家可以自己做一个没有实现Equals方法的类,再用ArrayList.Contains来做判断..可以看到结果都是flase..和上面的代码是个对比..&lt;br /&gt;
这个方法不仅可以用在ArrayList,而且也可以在多个地方使用,比如两个Class之间的关联?Class1和Class2是否关联??&lt;br /&gt;
&lt;br /&gt;
Learn Scott:希望本文能对你有所帮助。&lt;img src="http://blog.hidotnet.com/Databinder/aggbug/564.aspx" width="1" height="1" /&gt;</description><dc:creator>Databinder</dc:creator></item><item><title>mssql中的uniqueidentifier数据类型</title><link>http://blog.hidotnet.com/Databinder/archive/2007/06/22/359.aspx</link><pubDate>Fri, 22 Jun 2007 02:55:32 GMT</pubDate><guid isPermaLink="true">http://blog.hidotnet.com/Databinder/archive/2007/06/22/359.aspx</guid><wfw:comment>http://blog.hidotnet.com/Databinder/comments/359.aspx</wfw:comment><wfw:commentRss>http://blog.hidotnet.com/Databinder/comments/commentRss/359.aspx</wfw:commentRss><comments>http://blog.hidotnet.com/Databinder/archive/2007/06/22/359.aspx#comment</comments><slash:comments>3410</slash:comments><trackback:ping>http://blog.hidotnet.com/Databinder/services/trackbacks/359.aspx</trackback:ping><source url="http://blog.hidotnet.com/Databinder/rss.aspx">mssql中的uniqueidentifier数据类型</source><description>&lt;div&gt;
&lt;h5&gt;最近新换了一个工作，在一个全国连锁的服装公司总部做开发，管理全国的分店进销存等的管理，以前从来没有用过&lt;font face="Arial"&gt;uniqueidentifier&lt;/font&gt;这个数据类型，在分布式开发中比较常用，下面是此数据类型的相关介绍。&lt;/h5&gt;
&lt;h5&gt;全局唯一标识符&lt;/h5&gt;
&lt;p&gt;尽管 IDENTITY 属性自动为表生成行号，但不同表的标识符列可以生成相同的行号。这是因为 IDENTITY 属性只须在所使用的表上保持唯一。如果应用程序需要生成在整个数据库或世界各地所有网络计算机的全部数据库中均为唯一的标识符列，请使用 ROWGUIDCOL 属性、&lt;strong&gt;uniqueidentifier&lt;/strong&gt; 数据类型和 NEWID 函数。 &lt;/p&gt;
&lt;p&gt;使用 ROWGUIDCOL 属性定义全局唯一标识符列时应注意； &lt;/p&gt;
&lt;ul&gt;
    &lt;li&gt;一个表只能有一个 ROWGUIDCOL 列，且该列必须定义为 &lt;strong&gt;uniqueidentifier&lt;/strong&gt; 数据类型。&lt;br /&gt;
    &lt;br /&gt;
    &lt;/li&gt;
    &lt;li&gt;SQL Server 不为该列自动生成值。若要插入全局唯一数值，应为列创建 DEFAULT 定义，以使用 NEWID 功能生成全局唯一数值。&lt;br /&gt;
    &lt;br /&gt;
    &lt;/li&gt;
    &lt;li&gt;在设置 ROWGUIDCOL 属性后，使用 ROWGUIDCOL 关键字可在选择列表中引用该列。这与使用 IDENTITYCOL 关键字引用 IDENTITY 列相似。&lt;br /&gt;
    &lt;br /&gt;
    &lt;/li&gt;
    &lt;li&gt;可使用 OBJECTPROPERTY 函数确定表是否含有 ROWGUIDCOL 列，使用 COLUMNPROPERTY 函数确定 ROWGUIDCOL 列的名称。&lt;br /&gt;
    &lt;br /&gt;
    &lt;/li&gt;
    &lt;li&gt;由于 ROWGUIDCOL 属性不强制唯一性，所以应使用 UNIQUE 约束以确保插入 ROWGUIDCOL 列的值是唯一的。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt;&lt;strong&gt;uniqueidentifier&lt;/strong&gt; 数据类型存储 16 字节的二进制值，该值的使用与全局唯一标识符 (GUID) 一样。GUID 是一个唯一的二进制数字；世界上的任何两台计算机都不会生成重复的 GUID 值。GUID 主要用于在拥有多个节点、多台计算机的网络中，分配必须具有唯一性的标识符。 &lt;/p&gt;
&lt;p&gt;&lt;strong&gt;uniqueidentifier&lt;/strong&gt; 列的 GUID 值通常由以下方式获得： &lt;/p&gt;
&lt;ul&gt;
    &lt;li&gt;在 Transact-SQL 语句、批处理或脚本中调用 NEWID 函数。&lt;br /&gt;
    &lt;br /&gt;
    &lt;/li&gt;
    &lt;li&gt;在应用程序代码中，调用返回 GUID 值的应用程序 API 函数或方法。 &lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Transact-SQL NEWID 函数以及应用程序 API 函数和方法从它们网卡上的标识数字以及 CPU 时钟的唯一数字生成新的 &lt;strong&gt;uniqueidentifier &lt;/strong&gt;值。每个网卡都有唯一的标识号。由 NEWID&lt;strong&gt; &lt;/strong&gt;返回的&lt;strong&gt; uniqueidentifier&lt;/strong&gt; 使用服务器上的网卡生成。由应用程序 API 函数和方法返回的&lt;strong&gt; uniqueidentifier&lt;/strong&gt; 使用客户机上的网卡生成。 &lt;/p&gt;
&lt;p&gt;一般不将 &lt;strong&gt;uniqueidentifier&lt;/strong&gt; 定义为常量，因为很难保证实际创建的 &lt;strong&gt;uniqueidentifier&lt;/strong&gt; 具有唯一性。指定 &lt;strong&gt;uniqueidentifier&lt;/strong&gt; 常量的方法有两种： &lt;/p&gt;
&lt;ul&gt;
    &lt;li&gt;字符串格式
    &lt;pre&gt;&lt;code&gt;'6F9619FF-8B86-D011-B42D-00C04FC964FF'
&lt;/code&gt;&lt;/pre&gt;
    &lt;/li&gt;
    &lt;li&gt;二进制格式
    &lt;pre&gt;&lt;code&gt;0xff19966f868b11d0b42d00c04fc964ff
&lt;/code&gt;&lt;/pre&gt;
    &lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;uniqueidentifier&lt;/strong&gt; 数据类型不象IDENTITY 属性那样为新插入的行自动生成新的ID。为了得到新的 &lt;strong&gt;uniqueidentifier&lt;/strong&gt; 值，表必须具有一个指定 NEWID 函数的 DEFAULT 子句，或使用 NEWID 函数的 INSERT 语句：&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;CREATE TABLE MyUniqueTable
   (UniqueColumn   UNIQUEIDENTIFIER      DEFAULT NEWID(),
   Characters      VARCHAR(10) )
GO
INSERT INTO MyUniqueTable(Characters) VALUES ('abc')
INSERT INTO MyUniqueTable VALUES (NEWID(), 'def')
GO
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;strong&gt;uniqueidentifier&lt;/strong&gt; 列可以包含多次出现的 &lt;strong&gt;uniqueidentifier&lt;/strong&gt; 值，除非也对此列指定了 UNIQUE 或 PRIMARY KEY 约束。当有多行引用源表中的同一主键时，引用其它表的 &lt;strong&gt;uniqueidentifier&lt;/strong&gt; 主键的外键列将包含多次出现的个别 &lt;strong&gt;uniqueidentifier&lt;/strong&gt; 值。 &lt;/p&gt;
&lt;p&gt;一个表可以有多个 &lt;strong&gt;uniqueidentifier&lt;/strong&gt; 列。每个表中可以指定一个具有 ROWGUIDCOL 属性的 &lt;strong&gt;uniqueidentifier&lt;/strong&gt; 列。ROWGUIDCOL 属性表明此列的 &lt;strong&gt;uniqueidentifier&lt;/strong&gt; 值唯一地标识表中的行。但是，该属性并没有执行该唯一性。唯一性必须通过其它机制来执行，比如为列指定 PRIMARY KEY 约束。ROWGUIDCOL 属性主要用于 SQL Server 复制。 &lt;/p&gt;
&lt;p&gt;&lt;strong&gt;uniqueidentifier&lt;/strong&gt; 数据类型的主要优点是保证由 Transact-SQL NEWID 函数或应用程序 GUID 函数生成的值在全球是唯一的。 &lt;/p&gt;
&lt;p&gt; &lt;strong&gt;uniqueidentifier&lt;/strong&gt; 数据类型的具有几个缺点： &lt;/p&gt;
&lt;ul&gt;
    &lt;li&gt;值长且难懂。这使用户难以正确键入它们，并且更难记住。&lt;br /&gt;
    &lt;br /&gt;
    &lt;/li&gt;
    &lt;li&gt;这些值是随机的，而且它们不能接受任何使它们对用户变得更有意义的模式。&lt;br /&gt;
    &lt;br /&gt;
    &lt;/li&gt;
    &lt;li&gt;没有任何方式可以决定生成 &lt;strong&gt;uniqueidentifier&lt;/strong&gt; 值的顺序。它们不适用于那些依赖递增的键值的现有应用程序。&lt;br /&gt;
    &lt;br /&gt;
    &lt;/li&gt;
    &lt;li&gt;&lt;strong&gt;uniqueidentifier&lt;/strong&gt; 数据类型具有 16 个字节，与其它那些诸如 4 字节的整数相比要相对大一些。这意味着使用 &lt;strong&gt;uniqueidentifier&lt;/strong&gt; 键建立的索引可能会比使用 &lt;strong&gt;int&lt;/strong&gt; 键实现的索引相对慢一些。 &lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt;在设计分布式数据库时非常有用。&lt;/p&gt;
&lt;/div&gt;&lt;img src="http://blog.hidotnet.com/Databinder/aggbug/359.aspx" width="1" height="1" /&gt;</description><dc:creator>Databinder</dc:creator></item><item><title>SQL引发的血案</title><link>http://blog.hidotnet.com/wangzhe/archive/2007/06/20/343.aspx</link><pubDate>Wed, 20 Jun 2007 10:34:04 GMT</pubDate><guid isPermaLink="true">http://blog.hidotnet.com/wangzhe/archive/2007/06/20/343.aspx</guid><wfw:comment>http://blog.hidotnet.com/wangzhe/comments/343.aspx</wfw:comment><wfw:commentRss>http://blog.hidotnet.com/wangzhe/comments/commentRss/343.aspx</wfw:commentRss><comments>http://blog.hidotnet.com/wangzhe/archive/2007/06/20/343.aspx#comment</comments><slash:comments>1005</slash:comments><trackback:ping>http://blog.hidotnet.com/wangzhe/services/trackbacks/343.aspx</trackback:ping><source url="http://blog.hidotnet.com/wangzhe/rss.aspx">SQL引发的血案</source><description>先看如下2中SQL写法：&lt;br /&gt;
（1）&lt;br /&gt;
declare @monthstart datetime&lt;br /&gt;
declare @monthend datetime&lt;br /&gt;
declare @minID int&lt;br /&gt;
declare @maxID int&lt;br /&gt;
&lt;br /&gt;
set @monthstart= ‘2006-06-20 17:02:00’&lt;br /&gt;
set @monthend= ‘2006-07-20 17:02:00’&lt;br /&gt;
&lt;br /&gt;
select @minID = min(postid),@maxID = max(postId) from table_posts where postdate between @monthstart and @monthend&lt;br /&gt;
 select @minID,@maxId&lt;br /&gt;
&lt;br /&gt;
（2）&lt;br /&gt;
declare @minID int&lt;br /&gt;
declare @maxID int&lt;br /&gt;
select @minID = min(postid),@maxID = max(postId) from table_posts where postdate between '2006-06-20 17:02:00' and '2006-07-20 17:02:00'&lt;br /&gt;
select @minID,@maxID&lt;br /&gt;
&lt;br /&gt;
这2条语句执行结果会有区别么？&lt;br /&gt;
有？回复告诉俺啥区别被。&lt;br /&gt;
没有。俺也这么想滴。&lt;br /&gt;
&lt;br /&gt;
再描述一下俺查询滴数据量。俺查询滴那个表的数据量是近200万，不算多。&lt;br /&gt;
&lt;br /&gt;
好啦，现在答案揭晓：第一条执行速度N慢，相对于第二条来说，多浪费20多秒的时间。&lt;br /&gt;
你别问俺为啥，俺也郁闷，至今未找到根子。不过在轻舞flash老哥的帮助下，还是找到了两者差距的所在。第一条逻辑读9万多，比第二条多9万多。汗一个。。。。&lt;br /&gt;
不是啥子数据库服务器的缘故，就算是俺也不知道，因为服务器不是俺设置的。&lt;br /&gt;
&lt;br /&gt;
但你非得在查询条件中使用变量怎么办？牛人自有牛人的办法。还是flash老哥给的方法，贴出来共享。不过上面的问题谁碰到过可要联系俺啊。&lt;br /&gt;
&lt;br /&gt;
另类解决方案闪亮登场：&lt;br /&gt;
declare @monthstart datetime&lt;br /&gt;
declare @monthend datetime&lt;br /&gt;
declare @minD int&lt;br /&gt;
declare @maxID int&lt;br /&gt;
declare @sqlcom varchar(8000)&lt;br /&gt;
set @monthstart='2006-06-20 17:02:00'&lt;br /&gt;
set @monthend='2006-07-20 17:02:00'&lt;br /&gt;
&lt;br /&gt;
set @sqlcom='select min(postid) as minId, max(postId) as maxId from forums_posts where postdate between '''+Convert(varchar(16),@monthstart,121) +''' and '''+ Convert(varchar(16),@monthend ,121)+''''&lt;br /&gt;
print @sqlcom&lt;br /&gt;
&lt;br /&gt;
exec(@sqlcom)&lt;br /&gt;
&lt;br /&gt;
走过，路过，要记得留过。。。&lt;br /&gt;
鄙视看帖不回的，俺多辛苦的文章啊！&lt;br /&gt;
&lt;br /&gt;
PS：&lt;br /&gt;
可能是表的问题，因为我在另一个表执行类似第一条那样的语句，速度很快。另一个表的字段同样有索引。&lt;br /&gt;
PS：&lt;br /&gt;
以上2种不同的语句，如果不带Min、Max函数，则他们时间上相差无几。而且读盘一样。难道是Min、Max函数搞怪？&lt;img src="http://blog.hidotnet.com/wangzhe/aggbug/343.aspx" width="1" height="1" /&gt;</description><dc:creator>wangzhe</dc:creator></item><item><title>Google 博客搜索 Ping 服务应用</title><link>http://blog.hidotnet.com/venjiang/archive/2007/06/14/275.aspx</link><pubDate>Thu, 14 Jun 2007 09:02:49 GMT</pubDate><guid isPermaLink="true">http://blog.hidotnet.com/venjiang/archive/2007/06/14/275.aspx</guid><wfw:comment>http://blog.hidotnet.com/venjiang/comments/275.aspx</wfw:comment><wfw:commentRss>http://blog.hidotnet.com/venjiang/comments/commentRss/275.aspx</wfw:commentRss><comments>http://blog.hidotnet.com/venjiang/archive/2007/06/14/275.aspx#comment</comments><slash:comments>1757</slash:comments><trackback:ping>http://blog.hidotnet.com/venjiang/services/trackbacks/275.aspx</trackback:ping><source url="http://blog.hidotnet.com/venjiang/rss.aspx">Google 博客搜索 Ping 服务应用</source><description>&lt;img width="10" height="1" src="file:///clear.gif" alt="" /&gt;
&lt;p&gt;&lt;font size="-1"&gt;&lt;span style="background-color: rgb(0, 0, 255); color: rgb(255, 255, 255);"&gt;Google Ping 介绍&lt;/span&gt;&lt;br /&gt;
&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font size="-1"&gt;通 过 Google“博客搜索”Ping API, 用户可以程序化的方式将博客内容的更新通知给 Google“博客搜索”引擎。这对于经常更新博客内容的用户尤其有用。博客服务提供商的管理人员也可以利用此API将其平台上的博客内容变化向 Google 通告，以便 Google“博客搜索”及时抓取来自这一服务提供商的最新内容。为设置对 Google“博客搜索”的自动 Ping 机制，请按照如下所述设置XML-RPC客户端或REST客户端以发送请求。您可以任选一种方法进行通知；两者都将按照相同的方式进行处理。&lt;/font&gt;&lt;/p&gt;
&lt;br /&gt;
&lt;font size="-1"&gt; &lt;a name="about"&gt;&lt;/a&gt; &lt;/font&gt;
&lt;h1 style="margin-top: 10px;"&gt; &lt;font size="-1"&gt;
&lt;table width="100%" cellspacing="0" cellpadding="2" border="0"&gt;
    &lt;tbody&gt;
        &lt;tr&gt;
            &lt;td style="border-top: 1px solid rgb(255, 158, 33); background-color: rgb(248, 223, 168);"&gt; &lt;font color="#000000"&gt;设置XML-RPC客户&lt;/font&gt;&lt;/td&gt;
        &lt;/tr&gt;
    &lt;/tbody&gt;
&lt;/table&gt;
&lt;/font&gt;&lt;/h1&gt;
&lt;p&gt;&lt;font size="-1"&gt;XML-RPC客户的请求应包含如下元素：&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font size="-1"&gt; &lt;strong&gt;RPC端点：&lt;/strong&gt; http://blogsearch.google.com/ping/RPC2 &lt;br /&gt;
&lt;strong&gt;调用方法名：&lt;/strong&gt;  weblogUpdates.extendedPing &lt;br /&gt;
&lt;strong&gt;参数：&lt;/strong&gt; (应按照如下所列的相同顺序传送)
&lt;ul&gt;
    &lt;li&gt; 站点名 &lt;/li&gt;
    &lt;li&gt; 站点URL &lt;/li&gt;
    &lt;li&gt; 需要检查更新的页面URL &lt;/li&gt;
    &lt;li&gt; 相应的RSS、RDF或Atom种子的URL &lt;/li&gt;
    &lt;li&gt; &lt;em&gt;可选&lt;/em&gt; 页面内容的分类名称(或标签)。您可以指定多个值，之间用'|'字符进行分隔。 &lt;/li&gt;
&lt;/ul&gt;
&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font size="-1"&gt; XML-RPC响应中将返回含有两个元素的&amp;lt;struct&amp;gt; ：
&lt;ul&gt;
    &lt;li&gt; flerror (Boolean)：当有错误发生时设为true/1 &lt;/li&gt;
    &lt;li&gt; message (string) ："Thanks for the ping." (如果成功) 或者一个错误信息(如果不成功)。 &lt;/li&gt;
&lt;/ul&gt;
&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font size="-1"&gt; &lt;strong&gt;XML-RPC请求的例子&lt;/strong&gt; &lt;/font&gt;&lt;/p&gt;
&lt;hr noshade="noshade" /&gt;
&lt;code&gt; &lt;/code&gt;
&lt;pre&gt;POST /RPC2 HTTP/1.0&lt;br /&gt;User-Agent: request&lt;br /&gt;Host: blogsearch.google.com&lt;br /&gt;Content-Type: text/xml&lt;br /&gt;Content-length: 447&lt;br /&gt;&lt;br /&gt;&amp;lt;?xml version="1.0"?&amp;gt;&lt;br /&gt;&amp;lt;methodCall&amp;gt;&lt;br /&gt;  &amp;lt;methodName&amp;gt;weblogUpdates.extendedPing&amp;lt;/methodName&amp;gt;&lt;br /&gt;  &amp;lt;params&amp;gt;&lt;br /&gt;    &amp;lt;param&amp;gt;&lt;br /&gt;      &amp;lt;value&amp;gt;Official Google Blog&amp;lt;/value&amp;gt;&lt;br /&gt;    &amp;lt;/param&amp;gt;&lt;br /&gt;    &amp;lt;param&amp;gt;&lt;br /&gt;      &amp;lt;value&amp;gt;http://googleblog.blogspot.com/&amp;lt;/value&amp;gt;&lt;br /&gt;    &amp;lt;/param&amp;gt;&lt;br /&gt;    &amp;lt;param&amp;gt;&lt;br /&gt;      &amp;lt;value&amp;gt;http://googleblog.blogspot.com/&amp;lt;/value&amp;gt;&lt;br /&gt;    &amp;lt;/param&amp;gt;&lt;br /&gt;    &amp;lt;param&amp;gt;&lt;br /&gt;      &amp;lt;value&amp;gt;http://googleblog.blogspot.com/atom.xml&amp;lt;/value&amp;gt;&lt;br /&gt;    &amp;lt;/param&amp;gt;&lt;br /&gt;  &amp;lt;/params&amp;gt;&lt;br /&gt;&amp;lt;/methodCall&amp;gt;&lt;br /&gt;&lt;/pre&gt;
&lt;p&gt;&lt;font size="-1"&gt;&lt;strong&gt;XML-RPC响应的例子&lt;/strong&gt;&lt;/font&gt; &lt;/p&gt;
&lt;hr noshade="noshade" /&gt;
&lt;code&gt; &lt;/code&gt;
&lt;pre&gt;HTTP/1.1 200 OK&lt;br /&gt;Connection: close&lt;br /&gt;Content-Length: 451&lt;br /&gt;Content-Type: text/xml&lt;br /&gt;Date: Sun, 30 Sep 2001 20:02:30 GMT&lt;br /&gt;Server: Apache&lt;br /&gt;&lt;br /&gt;&amp;lt;?xml version="1.0"?&amp;gt;&lt;br /&gt;&amp;lt;methodResponse&amp;gt;&lt;br /&gt;  &amp;lt;params&amp;gt;&lt;br /&gt;    &amp;lt;param&amp;gt;&lt;br /&gt;      &amp;lt;value&amp;gt;&lt;br /&gt;        &amp;lt;struct&amp;gt;&lt;br /&gt;          &amp;lt;member&amp;gt;&lt;br /&gt;            &amp;lt;name&amp;gt;flerror&amp;lt;/name&amp;gt;&lt;br /&gt;            &amp;lt;value&amp;gt;&lt;br /&gt;              &amp;lt;boolean&amp;gt;0&amp;lt;/boolean&amp;gt;&lt;br /&gt;            &amp;lt;/value&amp;gt;&lt;br /&gt;          &amp;lt;/member&amp;gt;&lt;br /&gt;          &amp;lt;member&amp;gt;&lt;br /&gt;            &amp;lt;name&amp;gt;message&amp;lt;/name&amp;gt;&lt;br /&gt;              &amp;lt;value&amp;gt;Thanks for the ping.&amp;lt;/value&amp;gt;&lt;br /&gt;          &amp;lt;/member&amp;gt;&lt;br /&gt;        &amp;lt;/struct&amp;gt;&lt;br /&gt;      &amp;lt;/value&amp;gt;&lt;br /&gt;    &amp;lt;/param&amp;gt;&lt;br /&gt;  &amp;lt;/params&amp;gt;&lt;br /&gt;&amp;lt;/methodResponse&amp;gt;&lt;br /&gt;&lt;br /&gt;&lt;/pre&gt;
&lt;font size="-1"&gt; &lt;a name="about"&gt;&lt;/a&gt; &lt;/font&gt;
&lt;h1 style="margin-top: 10px;"&gt; &lt;font size="-1"&gt;
&lt;table width="100%" cellspacing="0" cellpadding="2" border="0"&gt;
    &lt;tbody&gt;
        &lt;tr&gt;
            &lt;td style="border-top: 1px solid rgb(255, 158, 33); background-color: rgb(248, 223, 168);"&gt; &lt;font color="#000000"&gt; 设置REST客户&lt;/font&gt;&lt;/td&gt;
        &lt;/tr&gt;
    &lt;/tbody&gt;
&lt;/table&gt;
&lt;/font&gt;&lt;/h1&gt;
&lt;p&gt;&lt;font size="-1"&gt;REST客户的请求中包含如下元素：&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font size="-1"&gt;&lt;strong&gt;URL:&lt;/strong&gt; http://blogsearch.google.com/ping&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font size="-1"&gt;&lt;strong&gt;参数:&lt;/strong&gt;
&lt;ul&gt;
    &lt;li&gt;name = 博客的名字&lt;/li&gt;
    &lt;li&gt;url = 博客的URL&lt;/li&gt;
    &lt;li&gt;changesURL = RSS、RDF或Atom种子的URL (可选)&lt;/li&gt;
&lt;/ul&gt;
响应中将返回文本内容，在成功的时候是"Thanks for the ping."，在失败时是一条错误消息。 &lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font size="-1"&gt;&lt;strong&gt;例子：&lt;/strong&gt; &lt;/font&gt;&lt;/p&gt;
&lt;textarea cols="85" readonly="readonly"&gt;http://blogsearch.google.com/ping?name=Official+Google+Blog&amp;amp;url=http%3A%2F%2Fgoogleblog.blogspot.com%2F&amp;amp;changesURL=http%3A%2F%2Fgoogleblog.blogspot.com%2Fatom.xml &lt;/textarea&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;h1 style="margin-top: 10px;"&gt; &lt;font size="-1"&gt;
&lt;table width="100%" cellspacing="0" cellpadding="2" border="0"&gt;
    &lt;tbody&gt;
        &lt;tr&gt;
            &lt;td style="border-top: 1px solid rgb(255, 158, 33); background-color: rgb(248, 223, 168);"&gt; &lt;font color="#000000"&gt; changes.xml的格式&lt;/font&gt;&lt;/td&gt;
        &lt;/tr&gt;
    &lt;/tbody&gt;
&lt;/table&gt;
&lt;/font&gt;&lt;/h1&gt;
&lt;p&gt;&lt;font size="-1"&gt;Google 将所接受的“博客搜索” Ping 记录以XML格式发布到&lt;a href="http://blogsearch.google.com/changes.xml" target="_top"&gt;http://blogsearch.google.com/changes.xml&lt;/a&gt;。changes.xml文件格式包含一个根元素&amp;lt;weblogUpdates&amp;gt;和一个或多个的&amp;lt;weblog&amp;gt;元素。&lt;/font&gt;&lt;/p&gt;
&lt;pre&gt;&amp;lt;weblogUpdates version="2" updated="Wed, 30 May 2006 14:10:00 GMT" count="1384779"&amp;gt;&lt;br /&gt;  &amp;lt;weblog name="Some Blog"&lt;br /&gt;          url="http://googleblog.blogspot.com" &lt;br /&gt;          rssUrl="http://googleblog.blogspot.com/atom.xml"&lt;br /&gt;          when="1"/&amp;gt;&lt;br /&gt;  ...&lt;br /&gt;&amp;lt;/weblogUpdates&amp;gt;&lt;br /&gt;&lt;/pre&gt;
&lt;font size="-1"&gt;
&lt;h4&gt;&lt;a name="weblogUpdates_element"&gt; &amp;lt;weblogUpdates&amp;gt;元素&lt;/a&gt;&lt;/h4&gt;
&lt;/font&gt; &lt;font size="-1"&gt; &lt;/font&gt;
&lt;ul&gt;&lt;font size="-1"&gt;
    &lt;li&gt; &lt;strong&gt;version&lt;/strong&gt;：用来指示一个主要的格式变化，目前的版本是2。  &lt;/li&gt;
    &lt;li&gt; &lt;strong&gt;updated&lt;/strong&gt;：以 &lt;a href="http://www.w3.org/Protocols/rfc1945/rfc1945" target="_top"&gt;HTTP 1.0&lt;/a&gt;格式表示的日期时间。它指示了该文件上一次更新的时间。 &lt;/li&gt;
    &lt;li&gt; &lt;strong&gt;count&lt;/strong&gt;：一个递增的数字，表示了changes.xml文件的版本。新版本changes.xml文件通常具有更大的count值。 &lt;/li&gt;
    &lt;/font&gt;&lt;/ul&gt;
    &lt;p&gt;   &lt;font size="-1"&gt;
    &lt;h4&gt;&lt;a name="weblog_element"&gt; &amp;lt;weblog&amp;gt;元素 &lt;/a&gt;&lt;/h4&gt;
    &lt;/font&gt;  &lt;font size="-1"&gt;
    &lt;ul&gt;
        &lt;li&gt; &lt;strong&gt;name&lt;/strong&gt;：Blog的名称。 &lt;/li&gt;
        &lt;li&gt; &lt;strong&gt;url&lt;/strong&gt;： Blog的url。 &lt;/li&gt;
        &lt;li&gt; &lt;strong&gt;rssUrl&lt;/strong&gt;： 相应的RSS、Atom或其它种子的URL。 &lt;/li&gt;
        &lt;li&gt; &lt;strong&gt;when&lt;/strong&gt;： &amp;lt;weblogUpdates&amp;gt;元素的updated属性对应的时间减去相应的 Ping 发生的时间的差值，单位为秒。&lt;/li&gt;
    &lt;/ul&gt;
    ====================================================================&lt;/font&gt;&lt;/p&gt;
    &lt;p style="font-weight: bold; background-color: rgb(0, 0, 255); color: rgb(255, 255, 255);"&gt;&lt;font size="-1"&gt;下面实现如何使用XML RPC编程实现Google Ping服务.&lt;/font&gt;&lt;/p&gt;
    &lt;p&gt;&lt;font size="-1"&gt;首先,下载&lt;a href="http://www.xml-rpc.net/"&gt;CookComputing.XmlRpc&lt;/a&gt; &lt;br /&gt;
    &lt;/font&gt;&lt;/p&gt;
    &lt;p&gt;&lt;font size="-1"&gt;我使用的是2.0版本.最新版为2.1.0&lt;/font&gt;&lt;/p&gt;
    &lt;p style="font-weight: bold;"&gt;1.建立xml rpc客户端&lt;/p&gt;
    &lt;p&gt; public class GoogleXmlRpc&lt;br /&gt;
        {&lt;br /&gt;
            /// &amp;lt;summary&amp;gt;&lt;br /&gt;
            /// 返回值,用于处理Google Ping返回值的结构&lt;br /&gt;
            /// &amp;lt;/summary&amp;gt;&lt;br /&gt;
            public struct ReturnValue&lt;br /&gt;
            {&lt;br /&gt;
                public bool flerror;&lt;br /&gt;
                public string message;&lt;br /&gt;
            }&lt;br /&gt;
    &lt;br /&gt;
            [XmlRpcUrl("http://blogsearch.google.com/ping/RPC2")]&lt;br /&gt;
            public interface IGooglePing : IXmlRpcProxy&lt;br /&gt;
            {&lt;br /&gt;
                [XmlRpcMethod("weblogUpdates.extendedPing")]&lt;br /&gt;
                ReturnValue Ping(string websiteName, string websiteUrl, string changedUrl, string feedUrl);&lt;br /&gt;
            }&lt;br /&gt;
            &lt;br /&gt;
        }&lt;/p&gt;
    &lt;br /&gt;
    &lt;p style="font-weight: bold;"&gt;2.向Google发出一个ping通告&lt;/p&gt;
    &lt;p&gt;在你的程序添加文章或更新文章时,发出ping通告.&lt;/p&gt;
    &lt;p&gt;        string websiteName="venjiang 的博客";                                                    // 博客名称&lt;br /&gt;
            string websiteUrl="http://blog.hidotnet.com/venjiang/";        // 博客网站地址&lt;br /&gt;
            string changeUrl = "http://blog.hidotnet.com/venjiang/";                             // 要更新的地址&lt;br /&gt;
            string feedUrl = "http://blog.hidotnet.com/venjiang/Rss.aspx";             // 聚合地址rss或atom&lt;/p&gt;
    &lt;p&gt;        GoogleXmlRpc.IGooglePing proxy = (GoogleXmlRpc.IGooglePing)XmlRpcProxyGen.Create(typeof(GoogleXmlRpc.IGooglePing));    // 创建代理类&lt;/p&gt;
    &lt;p&gt;        // 最新版本,支持泛型,可以直接使用: &lt;br /&gt;
    &lt;/p&gt;
    &lt;p&gt;       // GoogleXmlRpc.IGooglePing proxy =XmlRpcProxyGen.Create&amp;lt;GoogleXmlRpc.IGooglePing&amp;gt;();&lt;/p&gt;
    &lt;p&gt;        GoogleXmlRpc.ReturnValue returnValue = proxy.Ping(websiteName, websiteUrl, changeUrl, feedUrl);    // ping&lt;br /&gt;
    &lt;/p&gt;
    &lt;p&gt;        if (returnValue.flerror)&lt;br /&gt;
                Response.Write( "Google Ping 出错!");&lt;br /&gt;
            else&lt;br /&gt;
                Response.Write "Google Ping 成功!";&lt;/p&gt;
    &lt;br /&gt;
    &lt;p style="font-weight: bold;"&gt;3.查看google 更新列表&lt;/p&gt;
    &lt;p&gt;下载:&lt;font size="-1"&gt;&lt;a href="http://blogsearch.google.com/changes.xml" target="_top"&gt;http://blogsearch.google.com/changes.xml&lt;/a&gt; 你可以看到你的博客相关信息已加入更新列表,目前google更新列表,有一定延迟.&lt;br /&gt;
    &lt;/font&gt;&lt;/p&gt;&lt;img src="http://blog.hidotnet.com/venjiang/aggbug/275.aspx" width="1" height="1" /&gt;</description><dc:creator>venjiang</dc:creator></item><item><title>关于The project file '' has been renamed or is no longer in the solution.的错误</title><link>http://blog.hidotnet.com/Databinder/archive/2007/06/12/226.aspx</link><pubDate>Tue, 12 Jun 2007 01:00:38 GMT</pubDate><guid isPermaLink="true">http://blog.hidotnet.com/Databinder/archive/2007/06/12/226.aspx</guid><wfw:comment>http://blog.hidotnet.com/Databinder/comments/226.aspx</wfw:comment><wfw:commentRss>http://blog.hidotnet.com/Databinder/comments/commentRss/226.aspx</wfw:commentRss><comments>http://blog.hidotnet.com/Databinder/archive/2007/06/12/226.aspx#comment</comments><slash:comments>2344</slash:comments><trackback:ping>http://blog.hidotnet.com/Databinder/services/trackbacks/226.aspx</trackback:ping><source url="http://blog.hidotnet.com/Databinder/rss.aspx">关于The project file '' has been renamed or is no longer in the solution.的错误</source><description>&lt;p&gt;&lt;font face="Arial"&gt;有一个solution，里面有5个project，其中有一个project我删掉了，打开solution的时候提示无法加载，我就把这个project给Remove掉了，结果发现无法编译，提示如下：&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face="Arial"&gt;&lt;font face="Arial"&gt;The project file '' has been renamed or is no longer in the solution.&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;仔细想了一下，IDE无法编译，肯定是别的项目有引用这个project的DLL，于是我把别的project所有引用在bin文件夹中的的全部删掉，还是发现无法编译。郁闷。&lt;font face="Arial"&gt;到google上查了一下，只找到&lt;a href="http://www.thescripts.com/forum/thread102940.html"&gt;一个方法&lt;/a&gt;说是重新建立这个project，我晕。&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;难道要我重新返工到移除项目以前(移除项目前是可以编译的，虽然项目加载不到)？&lt;/p&gt;
&lt;p&gt;不死心，在应用这个项目的DLL的项目的References中，我找到了这个引用，显示的是引用项目，把这个DLL的引用移除掉，OK，可以编译了，看来以后引用项目的时候，在bin文件删除的仅仅是物理的copy到本地的dll文件，而要删除引用，还是要在References中把这个引用彻底移除掉。&lt;/p&gt;
&lt;p&gt;&lt;font face="Arial"&gt;&lt;/font&gt;&lt;/p&gt;&lt;img src="http://blog.hidotnet.com/Databinder/aggbug/226.aspx" width="1" height="1" /&gt;</description><dc:creator>Databinder</dc:creator></item><item><title>今天是2007年6月6日，开博纪念</title><link>http://blog.hidotnet.com/Databinder/archive/2007/06/06/188.aspx</link><pubDate>Wed, 06 Jun 2007 01:16:16 GMT</pubDate><guid isPermaLink="true">http://blog.hidotnet.com/Databinder/archive/2007/06/06/188.aspx</guid><wfw:comment>http://blog.hidotnet.com/Databinder/comments/188.aspx</wfw:comment><wfw:commentRss>http://blog.hidotnet.com/Databinder/comments/commentRss/188.aspx</wfw:commentRss><comments>http://blog.hidotnet.com/Databinder/archive/2007/06/06/188.aspx#comment</comments><slash:comments>64</slash:comments><trackback:ping>http://blog.hidotnet.com/Databinder/services/trackbacks/188.aspx</trackback:ping><source url="http://blog.hidotnet.com/Databinder/rss.aspx">今天是2007年6月6日，开博纪念</source><description>&lt;p&gt;&lt;font face="Arial"&gt;现在是2007年6月6日9点15分，&lt;/font&gt;&lt;font face="Arial"&gt;以后就在博客苑落户了，以前从来没有系统的写过什么东西，要好好锻炼一下自己的文笔了。&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face="Arial"&gt;文章浅薄，各位前辈见笑了。&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face="Arial"&gt;//多好的日子啊，66大顺。&lt;/font&gt;&lt;/p&gt;&lt;img src="http://blog.hidotnet.com/Databinder/aggbug/188.aspx" width="1" height="1" /&gt;</description><dc:creator>Blog Author</dc:creator></item><item><title>程序错误：将截断字符串或二进制数据。</title><link>http://blog.hidotnet.com/wangzhe/archive/2007/06/01/159.aspx</link><pubDate>Fri, 01 Jun 2007 10:27:49 GMT</pubDate><guid isPermaLink="true">http://blog.hidotnet.com/wangzhe/archive/2007/06/01/159.aspx</guid><wfw:comment>http://blog.hidotnet.com/wangzhe/comments/159.aspx</wfw:comment><wfw:commentRss>http://blog.hidotnet.com/wangzhe/comments/commentRss/159.aspx</wfw:commentRss><comments>http://blog.hidotnet.com/wangzhe/archive/2007/06/01/159.aspx#comment</comments><slash:comments>1845</slash:comments><trackback:ping>http://blog.hidotnet.com/wangzhe/services/trackbacks/159.aspx</trackback:ping><source url="http://blog.hidotnet.com/wangzhe/rss.aspx">程序错误：将截断字符串或二进制数据。</source><description>&lt;p&gt;今日同事说论坛后台编辑不了，我跟踪一下，发现程序并无异常报告。分析后认为是数据库错误，于是执行SQL语句排错。经测试，发现修改字段时，使用较长的字符串时报如下错误：&lt;/p&gt;
&lt;p&gt;&lt;font face="Arial"&gt;将截断字符串或二进制数据。&lt;br /&gt;
语句已终止。&lt;br /&gt;
&lt;/font&gt;&lt;font face="Arial"&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face="Arial"&gt;记得以前也碰到过这样的错误，确实是数据库错误。从错误信息提示分析，容易让人以为是非法字符引起的，我初步也这么认为(呵呵，以前碰到这个错误的原因不记得了！)，于是排除几个认为非法的字符(还好仅仅是几个字符，不然我也不会找到真正的原因了。)，F5，错误信息依旧，于是看某个字段的长度，将测试字符串缩短后F5，执行成功！看来报这个错是输入的数据超过字段长度的缘故了。从错误提示信息分析，根据“截断”2字就容易让我以为是输入了非法字符，但经过这次测试，我觉得“截断”应该是某个东西过长，过大，而被截断一部分的意思，而不是我们理解的“过滤掉”这个意思。&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face="Arial"&gt;我根据自己想法进行了几个测试。首先在输入数据末尾使用空格，以此是输入数据超过字段长度，F5，以为会报错，显示执行成功！换一种方式，将空格放输入数据中间，报错！难道SQl中有Trim？呵呵，哪位高人指点一二？&lt;/font&gt;&lt;font face="Arial"&gt;&lt;/font&gt;&lt;/p&gt;&lt;img src="http://blog.hidotnet.com/wangzhe/aggbug/159.aspx" width="1" height="1" /&gt;</description><dc:creator>wangzhe</dc:creator></item><item><title>利用userData实现客户端保存表单数据[转的]</title><link>http://blog.hidotnet.com/wangzhe/archive/2007/03/15/120.aspx</link><pubDate>Thu, 15 Mar 2007 08:50:29 GMT</pubDate><guid isPermaLink="true">http://blog.hidotnet.com/wangzhe/archive/2007/03/15/120.aspx</guid><wfw:comment>http://blog.hidotnet.com/wangzhe/comments/120.aspx</wfw:comment><wfw:commentRss>http://blog.hidotnet.com/wangzhe/comments/commentRss/120.aspx</wfw:commentRss><comments>http://blog.hidotnet.com/wangzhe/archive/2007/03/15/120.aspx#comment</comments><slash:comments>1072</slash:comments><trackback:ping>http://blog.hidotnet.com/wangzhe/services/trackbacks/120.aspx</trackback:ping><source url="http://blog.hidotnet.com/wangzhe/rss.aspx">利用userData实现客户端保存表单数据[转的]</source><description>对于多数网页制作的朋友，实现在客户端保存在网页表单上的信息，比较多的是采用Cookie技术来实现，这些功能例如：下拉列表框选择的选项，文本框输入的数据等。事实上，我们可以利用微软DHTML默认行为中的userData行为来实现这个功能。 &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
因为很多网友问到这样的问题，整理了一下，并提供了三个示例。下面将就该行为的使用做一个介绍： &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
UserData 行为（userData Behavior）： &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
1、说明： &lt;br /&gt;
&lt;br /&gt;
userData行为通过将数据写入一个UserData存储区（UserData store）来保存数据，userData可以将数据以XML格式保存在客户端计算机上，如果你用的是 Windows 2000 或者 Windows XP，是保存在C:\Documents and Settings\Liming\UserData\文件夹下（如果操作系统不是安装在C盘，那么C就应该是操作系统所在的分区）。 &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
该数据将一直存在，除非你人为删除或者用脚本设置了该数据的失效期。 &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
userData行为提供了一个比Cookie更具有动态性和更大容量的数据结构。每页的UserData存储区数据大小可以达到64 Kb，每个域名可以达到640 Kb。 &lt;br /&gt;
&lt;br /&gt;
userData行为通过sessions为每个对象分配UserData存储区。使用save和load方法将UserData存储区数据保存在缓存（cache）中。一旦UserData存储区保存以后，即使IE浏览器关闭或者刷新了，下一次进入该页面，数据也能够重新载入而不会丢失。 &lt;br /&gt;
&lt;br /&gt;
出于安全的考虑，相同协议使用同一个文件夹保存UserData存储区数据。 &lt;br /&gt;
&lt;br /&gt;
For security reasons, a UserData store is available only in the same directory and with the same protocol used to persist the store. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
在HTML、HEAD、TITLE和STYLE标记上应用了userData行为后使用save和load方法将会出错。 &lt;br /&gt;
Setting the userData behavior (proposed) class on the HTML, HEAD, TITLE, or STYLE object causes an error when the save or load method is called. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
必须在行内或者文档的HEAD部分宣告如下样式： &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &amp;lt;STYLE&amp;gt; &lt;br /&gt;
      .userData {behavior:url(#default#userdata);} &lt;br /&gt;
   &amp;lt;/STYLE&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
userData行为可用于Microsoft? Win32?和Unix平台上的IE 5.0以上版本，不支持Netscape。 &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
2、语法： &lt;br /&gt;
&lt;br /&gt;
HTML     &amp;lt;ELEMENT STYLE="behavior:url('#default#userData')" ID=sID&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Script     object.style.behavior = "url('#default#userData')" &lt;br /&gt;
&lt;br /&gt;
             object.addBehavior ("#default#userData") &lt;br /&gt;
&lt;br /&gt;
注：sID参数是一个可以描述该标记的唯一id。ID是可选的，但如果有，可以在脚本中方便地对该标记加以控制。 &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
3、成员： &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
expires &lt;br /&gt;
&lt;br /&gt;
  设置或取得使用userData行为保存数据的失效日期。 &lt;br /&gt;
&lt;br /&gt;
    脚本语法：对象ID.expires = 参数 &lt;br /&gt;
&lt;br /&gt;
    参数是一个使用UTC（Universal Time Coordinate，世界调整时间）格式表示失效日期的字符串。该属性可以读写，没有默认值。浏览器会对比这个日期和当前日期，如果到期，该数据就自动失效。 &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
getAttribute() &lt;br /&gt;
  取得指定的属性值。 &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
load(存储区名) &lt;br /&gt;
  从UserData存储区载入存储的对象数据。 &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
removeAttribute() &lt;br /&gt;
  从对象中删除指定的属性值。 &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
save(存储区名) &lt;br /&gt;
  将对象数据存入一个UserData存储区。 &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
setAttribute() &lt;br /&gt;
  设置指定的属性值。 &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
XMLDocument &lt;br /&gt;
  取得存储该对象数据的XML DOM引用。 &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
具体用法可以查看MSDN（&lt;a target="_blank" href="http://msdn.microsoft.com/"&gt;http://msdn.microsoft.com&lt;/a&gt;） 4、示例&lt;br /&gt;
&lt;br /&gt;
示例一：文本框标记的应用（Microsoft）&lt;br /&gt;
&amp;lt;HTML&amp;gt;&lt;br /&gt;
            &amp;lt;HEAD&amp;gt;&lt;br /&gt;
            &amp;lt;STYLE&amp;gt;&lt;br /&gt;
            .userData {behavior:url(#default#userdata);}&lt;br /&gt;
            &amp;lt;/STYLE&amp;gt;&lt;br /&gt;
            &amp;lt;SCRIPT&amp;gt;&lt;br /&gt;
            function fnSaveInput(){&lt;br /&gt;
            var oPersist=oPersistForm.oPersistInput;&lt;br /&gt;
            oPersist.setAttribute("sPersist",oPersist.value); //将oPersist.value存储为sPersist属性&lt;br /&gt;
            oPersist.save("oXMLBranch");  //存储在名为oXMLBranch的UserData存储区&lt;br /&gt;
            }&lt;br /&gt;
            function fnLoadInput(){&lt;br /&gt;
            var oPersist=oPersistForm.oPersistInput;&lt;br /&gt;
            oPersist.load("oXMLBranch");  //载入在名为oXMLBranch的UserData存储区&lt;br /&gt;
            oPersist.value=oPersist.getAttribute("sPersist"); //将sPersist属性赋值给oPersist.value&lt;br /&gt;
            }&lt;br /&gt;
            &amp;lt;/SCRIPT&amp;gt;&lt;br /&gt;
            &amp;lt;/HEAD&amp;gt;&lt;br /&gt;
            &amp;lt;BODY&amp;gt;&lt;br /&gt;
            &amp;lt;FORM ID="oPersistForm"&amp;gt;&lt;br /&gt;
            &amp;lt;INPUT CLASS="userData" TYPE="text" ID="oPersistInput"&amp;gt;&lt;br /&gt;
            &amp;lt;INPUT TYPE="button" VALUE="Load" onclick="fnLoadInput()"&amp;gt;&lt;br /&gt;
            &amp;lt;INPUT TYPE="button" VALUE="Save" onclick="fnSaveInput()"&amp;gt;&lt;br /&gt;
            &amp;lt;/FORM&amp;gt;&lt;br /&gt;
            &amp;lt;/BODY&amp;gt;&lt;br /&gt;
            &amp;lt;/HTML&amp;gt;&lt;br /&gt;
 [Ctrl+A 全选,提示:你可修改代码后运行] &lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
示例二：Checkbox标记的应用&lt;br /&gt;
&amp;lt;style&amp;gt;&lt;br /&gt;
            .userData {behavior:url(#default#userdata);}&lt;br /&gt;
            &amp;lt;/style&amp;gt;&lt;br /&gt;
            &amp;lt;input type=checkbox id=chkbox1 class=userData&amp;gt;&lt;br /&gt;
            &amp;lt;script&amp;gt;&lt;br /&gt;
            var obj=document.all.chkbox1;&lt;br /&gt;
            obj.attachEvent('onclick',saveChecked)&lt;br /&gt;
            function saveChecked(){&lt;br /&gt;
            obj.setAttribute("bCheckedValue",obj.checked);&lt;br /&gt;
            obj.save("oChkValue");&lt;br /&gt;
            }&lt;br /&gt;
            window.attachEvent('onload',loadChecked)&lt;br /&gt;
            function loadChecked(){&lt;br /&gt;
            obj.load("oChkValue");&lt;br /&gt;
            var chk=(obj.getAttribute("bCheckedValue")=="true")?true:false;&lt;br /&gt;
            obj.checked=chk;&lt;br /&gt;
            }&lt;br /&gt;
            &amp;lt;/script&amp;gt;&lt;br /&gt;
 [Ctrl+A 全选,提示:你可修改代码后运行] &lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
示例三：Select标记的应用 &amp;lt;style&amp;gt;&lt;br /&gt;
            .userData {behavior:url(#default#userdata);}&lt;br /&gt;
            &amp;lt;/style&amp;gt;&lt;br /&gt;
            &amp;lt;select id="select1"  class="userData"&amp;gt;&lt;br /&gt;
            &amp;lt;option&amp;gt;option1&amp;lt;/option&amp;gt;&lt;br /&gt;
            &amp;lt;option&amp;gt;option2&amp;lt;/option&amp;gt;&lt;br /&gt;
            &amp;lt;option&amp;gt;option3&amp;lt;/option&amp;gt;&lt;br /&gt;
            &amp;lt;option&amp;gt;option4&amp;lt;/option&amp;gt;&lt;br /&gt;
            &amp;lt;/select&amp;gt;&lt;br /&gt;
            &amp;lt;script&amp;gt;&lt;br /&gt;
            var obj=document.all.select1;&lt;br /&gt;
            obj.attachEvent('onchange',saveSelectedIndex)&lt;br /&gt;
            function saveSelectedIndex(){&lt;br /&gt;
            obj.setAttribute("sSelectValue",obj.selectedIndex);&lt;br /&gt;
            obj.save("oSltIndex");&lt;br /&gt;
            }&lt;br /&gt;
            window.attachEvent('onload',loadSelectedIndex)&lt;br /&gt;
            function loadSelectedIndex(){&lt;br /&gt;
            obj.load("oSltIndex");&lt;br /&gt;
            obj.selectedIndex=obj.getAttribute("sSelectValue");&lt;br /&gt;
            }&lt;br /&gt;
            &amp;lt;/script&amp;gt;&lt;br /&gt;
 [Ctrl+A 全选,提示:你可修改代码后运行]  &lt;br /&gt;&lt;img src="http://blog.hidotnet.com/wangzhe/aggbug/120.aspx" width="1" height="1" /&gt;</description><dc:creator>wangzhe</dc:creator></item><item><title>初识Web Garden与Web Farms</title><link>http://blog.hidotnet.com/wangzhe/archive/2007/03/15/115.aspx</link><pubDate>Thu, 15 Mar 2007 05:12:33 GMT</pubDate><guid isPermaLink="true">http://blog.hidotnet.com/wangzhe/archive/2007/03/15/115.aspx</guid><wfw:comment>http://blog.hidotnet.com/wangzhe/comments/115.aspx</wfw:comment><wfw:commentRss>http://blog.hidotnet.com/wangzhe/comments/commentRss/115.aspx</wfw:commentRss><comments>http://blog.hidotnet.com/wangzhe/archive/2007/03/15/115.aspx#comment</comments><slash:comments>1684</slash:comments><trackback:ping>http://blog.hidotnet.com/wangzhe/services/trackbacks/115.aspx</trackback:ping><source url="http://blog.hidotnet.com/wangzhe/rss.aspx">初识Web Garden与Web Farms</source><description>        &lt;span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;今天跟老板讨论工作的时候，俺问老板是不是可以使用&lt;/span&gt;&lt;span lang="EN-US"&gt;Cache&lt;/span&gt;&lt;span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;来暂时保存数据，然后再一次性插入数据库中，以避免频繁操作数据库导致的性能问题。老板否定了俺的说法。老板说&lt;/span&gt;&lt;span lang="EN-US"&gt;Cache&lt;/span&gt;&lt;span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;不靠谱，容易丢失，并且网站配置使用了&lt;/span&gt;&lt;span lang="EN-US"&gt;Web Garden&lt;/span&gt;&lt;span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;，而且还是多服务器，&lt;/span&gt;&lt;span lang="EN-US"&gt;Cache&lt;/span&gt;&lt;span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;不能共享，俺一下就蔫巴了，还真是个问题。。。。&lt;/span&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;不过俺没搞懂老板说的&lt;/span&gt;&lt;span lang="EN-US"&gt;Web Garden&lt;/span&gt;&lt;span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;是虾米咚咚，于是&lt;/span&gt;&lt;span lang="EN-US"&gt;Google&lt;/span&gt;&lt;span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;一把，终于明白了，原来&lt;/span&gt;&lt;span lang="EN-US"&gt;Web Garden&lt;/span&gt;&lt;span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;是&lt;/span&gt;&lt;span lang="EN-US"&gt;IIS6&lt;/span&gt;&lt;span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;的一个功能。&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-US"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="TEXT-INDENT: 21pt"&gt;&lt;span lang="EN-US"&gt;Google&lt;/span&gt;&lt;span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;一把，搜到&lt;/span&gt;&lt;span lang="EN-US"&gt;MSDN&lt;/span&gt;&lt;span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;的关于&lt;/span&gt;&lt;span lang="EN-US"&gt;Web Garden&lt;/span&gt;&lt;span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;的英文文档（&lt;/span&gt;&lt;span lang="EN-US"&gt;&lt;a href="http://www.microsoft.com/technet/prodtechnol/WindowsServer2003/Library/IIS/659f2e2c-a58b-4770-833b-df96cabe569e.mspx?mfr=true"&gt;http://www.microsoft.com/technet/prodtechnol/WindowsServer2003/Library/IIS/659f2e2c-a58b-4770-833b-df96cabe569e.mspx?mfr=true&lt;/a&gt;&lt;/span&gt;&lt;span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;），大概浏览了一下，加上老板所说，对&lt;/span&gt;&lt;span lang="EN-US"&gt;Web Garden&lt;/span&gt;&lt;span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;有了初步的了解。同时也获得了另一个名词：&lt;/span&gt;&lt;span lang="EN-US"&gt;Web Farms&lt;/span&gt;&lt;span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;。&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="TEXT-INDENT: 21pt"&gt;&lt;span lang="EN-US"&gt;Web Garden&lt;/span&gt;&lt;span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;：&lt;/span&gt;&lt;span lang="EN-US"&gt;IIS6 Web Garden &lt;/span&gt;&lt;span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;指的是一个应用程序可以成多个进程&lt;/span&gt;&lt;span lang="EN-US"&gt;(w3wp.exe)&lt;/span&gt;&lt;span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;来执行，一次请求使用其中的一个。用这个的主要目的是提高程序的可用性。当其中一个进程发生错误，那么也不会影响其他进程。发生错误的进程可以根据规则关闭，而其他的进程则可以继续工作。（引用别人滴，俺自己还没理顺怎么解释它。）&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="TEXT-INDENT: 21pt"&gt;&lt;span lang="EN-US"&gt;Web Farms&lt;/span&gt;&lt;span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;：这个嘛，没找到资料，但大部分程序都是用这个方式的。&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="TEXT-INDENT: 21pt"&gt;&lt;span lang="EN-US"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="TEXT-INDENT: 21pt"&gt;&lt;span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;写的仓促，看过的人若不知所云，当俺是火星人好了。&lt;/span&gt;&lt;/p&gt;&lt;img src="http://blog.hidotnet.com/wangzhe/aggbug/115.aspx" width="1" height="1" /&gt;</description><dc:creator>wangzhe</dc:creator></item><item><title>Lucene的学习 ---转</title><link>http://blog.hidotnet.com/flashccie/archive/2007/03/12/113.aspx</link><pubDate>Mon, 12 Mar 2007 09:59:20 GMT</pubDate><guid isPermaLink="true">http://blog.hidotnet.com/flashccie/archive/2007/03/12/113.aspx</guid><wfw:comment>http://blog.hidotnet.com/flashccie/comments/113.aspx</wfw:comment><wfw:commentRss>http://blog.hidotnet.com/flashccie/comments/commentRss/113.aspx</wfw:commentRss><comments>http://blog.hidotnet.com/flashccie/archive/2007/03/12/113.aspx#comment</comments><slash:comments>3</slash:comments><trackback:ping>http://blog.hidotnet.com/flashccie/services/trackbacks/113.aspx</trackback:ping><source url="http://blog.hidotnet.com/flashccie/rss.aspx">Lucene的学习 ---转</source><description>&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: 150%; TEXT-ALIGN: center" align="center"&gt;&lt;span&gt;这几天在学习Lucene，先转贴子看看。用来记录一下&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: 150%; TEXT-ALIGN: center" align="center"&gt;&lt;span&gt;转自：&lt;font face="Arial"&gt;&lt;a href="http://www.360doc.com/showWeb/0/0/208704.aspxssswwww2221htttp:://"&gt;http://www.360doc.com/showWeb/0/0/208704.aspxssswwww2221htttp:://&lt;/a&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: 150%; TEXT-ALIGN: center" align="center"&gt;&lt;span&gt;Lucene的学习&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt; &lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: 150%"&gt;&lt;span lang="EN-US" style="FONT-SIZE: 12pt; LINE-HEIGHT: 150%"&gt;&lt;span style="mso-tab-count: 1"&gt;       &lt;/span&gt;&lt;/span&gt;&lt;font size="3"&gt;&lt;span style="LINE-HEIGHT: 150%; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Courier New'; mso-hansi-font-family: 'Courier New'; mso-bidi-font-family: 'Courier New'"&gt;通过这几天的看书和学习，对&lt;/span&gt; &lt;span lang="EN-US" style="LINE-HEIGHT: 150%; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.5pt"&gt;Lucene&lt;/span&gt; &lt;span style="LINE-HEIGHT: 150%; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Courier New'; mso-hansi-font-family: 'Courier New'; mso-bidi-font-family: 'Courier New'"&gt;有了更进一步的认识，所以总结一下这些天的学习成果把&lt;/span&gt; &lt;span lang="EN-US" style="LINE-HEIGHT: 150%; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.5pt"&gt;Lucene&lt;/span&gt; &lt;span style="LINE-HEIGHT: 150%; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Courier New'; mso-hansi-font-family: 'Courier New'; mso-bidi-font-family: 'Courier New'"&gt;的学习心得也学出来。&lt;/span&gt; &lt;span lang="EN-US" style="LINE-HEIGHT: 150%; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.5pt"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;
&lt;h1 style="MARGIN: 17pt 0cm 16.5pt 21.25pt; TEXT-INDENT: -21.25pt; tab-stops: list 21.25pt; mso-list: l1 level1 lfo1"&gt;&lt;span lang="EN-US" style="FONT-SIZE: 12pt; LINE-HEIGHT: 240%; mso-bidi-font-size: 22.0pt; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;span style="mso-list: Ignore"&gt;1&lt;span style="FONT: 7pt 'Times New Roman'"&gt;          &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span lang="EN-US" style="FONT-SIZE: 12pt; LINE-HEIGHT: 240%; mso-bidi-font-size: 22.0pt"&gt;Lucene&lt;/span&gt; &lt;span style="FONT-SIZE: 12pt; LINE-HEIGHT: 240%; FONT-FAMILY: 宋体; mso-bidi-font-size: 22.0pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;的认识&lt;/span&gt; &lt;span lang="EN-US" style="FONT-SIZE: 12pt; LINE-HEIGHT: 240%; mso-bidi-font-size: 22.0pt"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/h1&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt; LINE-HEIGHT: 150%"&gt;&lt;font size="3"&gt;&lt;span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Courier New'; mso-hansi-font-family: 'Courier New'; mso-bidi-font-family: 'Courier New'"&gt;提到&lt;/span&gt; &lt;span lang="EN-US" style="FONT-FAMILY: 'Courier New'"&gt;Lucene&lt;/span&gt; &lt;span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Courier New'; mso-hansi-font-family: 'Courier New'; mso-bidi-font-family: 'Courier New'"&gt;很多人都知道这个开源的搜索工具，其魅力也是很大的。它让我们对搜索引擎的认识不在那么神秘，也不会在觉得百度和&lt;/span&gt; &lt;span lang="EN-US" style="FONT-FAMILY: 'Courier New'"&gt;google&lt;/span&gt; &lt;span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Courier New'; mso-hansi-font-family: 'Courier New'; mso-bidi-font-family: 'Courier New'"&gt;的技术多么的高深没测，其实其原理都是一样的，只是他们要做的更好，走的更远罢了。&lt;/span&gt; &lt;span lang="EN-US" style="FONT-FAMILY: 'Courier New'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt; LINE-HEIGHT: 150%"&gt;&lt;font size="3"&gt;&lt;span lang="EN-US" style="LINE-HEIGHT: 150%; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.5pt"&gt;Lucene&lt;/span&gt; &lt;span style="LINE-HEIGHT: 150%; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Courier New'; mso-hansi-font-family: 'Courier New'; mso-bidi-font-family: 'Courier New'"&gt;可以对任何的数据做索引和搜索，说这样的话其实不过分，真的就是这样，只要你能处理好这些数据，交给&lt;/span&gt; &lt;span lang="EN-US" style="LINE-HEIGHT: 150%; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.5pt"&gt;Lucene&lt;/span&gt; &lt;span style="LINE-HEIGHT: 150%; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Courier New'; mso-hansi-font-family: 'Courier New'; mso-bidi-font-family: 'Courier New'"&gt;去建立索引它都可以帮你把这些数据给检索出来，是不是很好玩了。真正好玩的地方还在后面呢。&lt;/span&gt; &lt;span lang="EN-US" style="LINE-HEIGHT: 150%; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.5pt"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;
&lt;h1 style="MARGIN: 17pt 0cm 16.5pt 21.25pt; TEXT-INDENT: -21.25pt; tab-stops: list 21.25pt; mso-list: l1 level1 lfo1"&gt;&lt;span lang="EN-US" style="FONT-SIZE: 10.5pt; LINE-HEIGHT: 240%; FONT-FAMILY: 'Courier New'; mso-fareast-font-family: 'Courier New'"&gt;&lt;span style="mso-list: Ignore"&gt;2&lt;span style="FONT: 7pt 'Times New Roman'"&gt;          &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span lang="EN-US" style="FONT-SIZE: 12pt; LINE-HEIGHT: 240%; mso-bidi-font-size: 22.0pt"&gt;Lucene&lt;/span&gt; &lt;span style="FONT-SIZE: 12pt; LINE-HEIGHT: 240%; FONT-FAMILY: 宋体; mso-bidi-font-size: 22.0pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;的学习&lt;/span&gt; &lt;span lang="EN-US" style="FONT-SIZE: 10.5pt; LINE-HEIGHT: 240%; FONT-FAMILY: 'Courier New'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/h1&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt; LINE-HEIGHT: 150%"&gt;&lt;font size="3"&gt;&lt;span style="LINE-HEIGHT: 150%; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Courier New'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 'Courier New'"&gt;前面已经对&lt;/span&gt; &lt;span lang="EN-US" style="LINE-HEIGHT: 150%; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;Lucene&lt;/span&gt; &lt;span style="LINE-HEIGHT: 150%; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Courier New'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 'Courier New'"&gt;有了一些了解，现在我们想象它怎么去搜索这些数据呢，如果知道倒排索引，你就知道了，其实&lt;/span&gt; &lt;span lang="EN-US" style="LINE-HEIGHT: 150%; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;lucene&lt;/span&gt; &lt;span style="LINE-HEIGHT: 150%; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Courier New'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 'Courier New'"&gt;检索的是它自己建立的索引，从索引中的到数据的指针，从而得到数据。其实就这么简单。&lt;/span&gt; &lt;span lang="EN-US" style="LINE-HEIGHT: 150%; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt; LINE-HEIGHT: 150%"&gt;&lt;font size="3"&gt;&lt;span style="LINE-HEIGHT: 150%; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Courier New'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 'Courier New'"&gt;提到索引，现在的索引技术中有：倒排索引、后缀数组和签名文件这三种，其中后缀数组这种技术虽然检索速度也很快，但是它的数据结构构造和维护都是相当麻烦的所以不可取了。我也懒得去看了。至于签名文件嘛，那是&lt;/span&gt; &lt;span lang="EN-US" style="LINE-HEIGHT: 150%; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;80&lt;/span&gt; &lt;span style="LINE-HEIGHT: 150%; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Courier New'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 'Courier New'"&gt;年代的玩意了，现在已经过时了。现在可是倒排索引的天下啊！相信百度和&lt;/span&gt; &lt;span lang="EN-US" style="LINE-HEIGHT: 150%; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;google&lt;/span&gt; &lt;span style="LINE-HEIGHT: 150%; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Courier New'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 'Courier New'"&gt;都是这种技术。&lt;/span&gt; &lt;span lang="EN-US" style="LINE-HEIGHT: 150%; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;
&lt;h1 style="MARGIN: 17pt 0cm 16.5pt 21.25pt; TEXT-INDENT: -21.25pt; tab-stops: list 21.25pt; mso-list: l1 level1 lfo1"&gt;&lt;span lang="EN-US" style="FONT-SIZE: 12pt; LINE-HEIGHT: 240%; mso-bidi-font-size: 22.0pt; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;span style="mso-list: Ignore"&gt;3&lt;span style="FONT: 7pt 'Times New Roman'"&gt;          &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="FONT-SIZE: 12pt; LINE-HEIGHT: 240%; FONT-FAMILY: 宋体; mso-bidi-font-size: 22.0pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;索引的建立&lt;/span&gt; &lt;span lang="EN-US" style="FONT-SIZE: 12pt; LINE-HEIGHT: 240%; mso-bidi-font-size: 22.0pt"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/h1&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"&gt;&lt;span lang="EN-US"&gt;&lt;o:p&gt;&lt;font size="3"&gt; &lt;/font&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt; LINE-HEIGHT: 150%"&gt;&lt;font size="3"&gt;&lt;span style="LINE-HEIGHT: 150%; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Courier New'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 'Courier New'"&gt;我们从索引的建立入手：&lt;/span&gt; &lt;span lang="EN-US" style="LINE-HEIGHT: 150%; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt; LINE-HEIGHT: 150%"&gt;&lt;font size="3"&gt;&lt;span style="LINE-HEIGHT: 150%; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Courier New'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 'Courier New'"&gt;我们建立一个&lt;/span&gt; &lt;span lang="EN-US" style="LINE-HEIGHT: 150%; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;lucene&lt;/span&gt; &lt;span style="LINE-HEIGHT: 150%; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Courier New'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 'Courier New'"&gt;的索引时必须先建立该索引文件存放的位置，看一下代码：&lt;/span&gt; &lt;span lang="EN-US" style="LINE-HEIGHT: 150%; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt; LINE-HEIGHT: 150%"&gt;&lt;span lang="EN-US" style="LINE-HEIGHT: 150%; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;&lt;font size="3"&gt;IndexWriter writer = null;&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt; &lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt; LINE-HEIGHT: 150%"&gt;&lt;span lang="EN-US" style="LINE-HEIGHT: 150%; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;&lt;font size="3"&gt;writer = new IndexWriter("c:\\index", new CJKAnalyzer(), true);&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt; &lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt; LINE-HEIGHT: 150%"&gt;&lt;font size="3"&gt;&lt;span style="LINE-HEIGHT: 150%; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Courier New'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 'Courier New'"&gt;这段代码就时建立一个索引前所必须的操作，先声明这个&lt;/span&gt; &lt;span lang="EN-US" style="LINE-HEIGHT: 150%; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;IndexWriter&lt;/span&gt; &lt;span style="LINE-HEIGHT: 150%; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Courier New'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 'Courier New'"&gt;，实例化它你必须传入三个参数。他们分别代表：你要建立索引文件的存放位置、你要使用索引建立的分词方法、是否重新建立索引。这样你就告诉&lt;/span&gt; &lt;span lang="EN-US" style="LINE-HEIGHT: 150%; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;lucene&lt;/span&gt; &lt;span style="LINE-HEIGHT: 150%; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Courier New'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 'Courier New'"&gt;我要在&lt;/span&gt; &lt;span lang="EN-US" style="LINE-HEIGHT: 150%; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;c&lt;/span&gt; &lt;span style="LINE-HEIGHT: 150%; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Courier New'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 'Courier New'"&gt;盘的&lt;/span&gt; &lt;span lang="EN-US" style="LINE-HEIGHT: 150%; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;index&lt;/span&gt; &lt;span style="LINE-HEIGHT: 150%; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Courier New'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 'Courier New'"&gt;目录下建立索引文件，我要使用&lt;st1:personname w:st="on" productid="车东"&gt;车东&lt;/st1:personname&gt;老师的二分词算法做分析器、我要在这个目录下删除以前的索引或任何文件创立我的索引文件。&lt;/span&gt; &lt;span lang="EN-US" style="LINE-HEIGHT: 150%; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt; LINE-HEIGHT: 150%"&gt;&lt;font size="3"&gt;&lt;span style="LINE-HEIGHT: 150%; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Courier New'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 'Courier New'"&gt;索引的建立有三种方式，让我一一道来：&lt;/span&gt; &lt;span lang="EN-US" style="LINE-HEIGHT: 150%; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt; LINE-HEIGHT: 150%"&gt;&lt;font size="3"&gt;&lt;span lang="EN-US" style="LINE-HEIGHT: 150%; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;1&lt;/span&gt; &lt;span style="LINE-HEIGHT: 150%; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Courier New'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 'Courier New'"&gt;、&lt;/span&gt; &lt;span lang="EN-US" style="LINE-HEIGHT: 150%; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;new IndexWriter(new RAMDirectory(), new StandardAnalyzer(), true);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt; &lt;/font&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt; LINE-HEIGHT: 150%"&gt;&lt;font size="3"&gt;&lt;span style="LINE-HEIGHT: 150%; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Courier New'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 'Courier New'"&gt;在内存中建立索引，速度最快但是耗资源，而且重启就没了。&lt;/span&gt; &lt;span lang="EN-US" style="LINE-HEIGHT: 150%; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt; LINE-HEIGHT: 150%"&gt;&lt;font size="3"&gt;&lt;span lang="EN-US" style="LINE-HEIGHT: 150%; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;2&lt;/span&gt; &lt;span style="LINE-HEIGHT: 150%; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Courier New'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 'Courier New'"&gt;、&lt;/span&gt; &lt;span lang="EN-US" style="LINE-HEIGHT: 150%; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;new IndexWriter(FSDirectory.getDirectory(path, true), new StandardAnalyzer(), true);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt; &lt;/font&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt; LINE-HEIGHT: 150%"&gt;&lt;font size="3"&gt;&lt;span style="LINE-HEIGHT: 150%; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Courier New'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 'Courier New'"&gt;在文件系统中建立索引，这里有两个参数，分别是：建立索引的路径、是否要删除当前目录下的文件重新建立索引。&lt;/span&gt; &lt;span lang="EN-US" style="LINE-HEIGHT: 150%; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt; LINE-HEIGHT: 150%"&gt;&lt;font size="3"&gt;&lt;span lang="EN-US" style="LINE-HEIGHT: 150%; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;3&lt;/span&gt; &lt;span style="LINE-HEIGHT: 150%; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Courier New'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 'Courier New'"&gt;、&lt;/span&gt; &lt;span lang="EN-US" style="LINE-HEIGHT: 150%; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;new IndexWriter("c:\\index", new CJKAnalyzer(), true);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt; &lt;/font&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt; LINE-HEIGHT: 150%"&gt;&lt;font size="3"&gt;&lt;span style="LINE-HEIGHT: 150%; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Courier New'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 'Courier New'"&gt;最常见的一种，在制定目录下建立索引，看了源码你就知道这种方法也是用的第二种方式。&lt;/span&gt; &lt;span lang="EN-US" style="LINE-HEIGHT: 150%; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;Lucene&lt;/span&gt; &lt;span style="LINE-HEIGHT: 150%; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Courier New'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 'Courier New'"&gt;的源码：&lt;/span&gt; &lt;span lang="EN-US" style="LINE-HEIGHT: 150%; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt; LINE-HEIGHT: 150%"&gt;&lt;span lang="EN-US" style="LINE-HEIGHT: 150%; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;&lt;font size="3"&gt;public IndexWriter(String path, Analyzer a, boolean create)&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt; &lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt; LINE-HEIGHT: 150%"&gt;&lt;span lang="EN-US" style="LINE-HEIGHT: 150%; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;&lt;font size="3"&gt;&lt;span style="mso-spacerun: yes"&gt;       &lt;/span&gt;throws IOException {&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt; &lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: 150%"&gt;&lt;span lang="EN-US" style="LINE-HEIGHT: 150%; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;&lt;font size="3"&gt;&lt;span style="mso-spacerun: yes"&gt; &lt;/span&gt;this(FSDirectory.getDirectory(path, create), a, create, true);&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt; &lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt; LINE-HEIGHT: 150%"&gt;&lt;span lang="EN-US" style="LINE-HEIGHT: 150%; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;&lt;font size="3"&gt;&lt;span style="mso-spacerun: yes"&gt;  &lt;/span&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt; &lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt; LINE-HEIGHT: 150%"&gt;&lt;font size="3"&gt;&lt;span style="LINE-HEIGHT: 150%; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Courier New'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 'Courier New'"&gt;我想的没错。&lt;/span&gt; &lt;span lang="EN-US" style="LINE-HEIGHT: 150%; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt; LINE-HEIGHT: 150%"&gt;&lt;font size="3"&gt;&lt;span lang="EN-US" style="LINE-HEIGHT: 150%; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;Indexwriter&lt;/span&gt; &lt;span style="LINE-HEIGHT: 150%; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Courier New'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 'Courier New'"&gt;性能调整参数：&lt;/span&gt; &lt;span lang="EN-US" style="LINE-HEIGHT: 150%; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt; LINE-HEIGHT: 150%"&gt;&lt;font size="3"&gt;&lt;span&gt;第一个优化的参数：&lt;/span&gt; &lt;span lang="EN-US" style="LINE-HEIGHT: 150%; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;mergeFactor &lt;/span&gt;&lt;span style="LINE-HEIGHT: 150%; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Courier New'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 'Courier New'"&gt;这个参数用于控制&lt;/span&gt; &lt;span lang="EN-US" style="LINE-HEIGHT: 150%; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;lucene&lt;/span&gt; &lt;span style="LINE-HEIGHT: 150%; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Courier New'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 'Courier New'"&gt;在把索引从内存写入到磁盘上的文件系统时内存最大的&lt;/span&gt; &lt;span lang="EN-US" style="LINE-HEIGHT: 150%; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;Document&lt;/span&gt; &lt;span style="LINE-HEIGHT: 150%; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Courier New'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 'Courier New'"&gt;对象的数量。这个数要根据你的计算机设置，默认情况下是&lt;/span&gt; &lt;span lang="EN-US" style="LINE-HEIGHT: 150%; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;10&lt;/span&gt; &lt;span style="LINE-HEIGHT: 150%; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Courier New'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 'Courier New'"&gt;。&lt;/span&gt; &lt;span lang="EN-US" style="LINE-HEIGHT: 150%; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: 150%"&gt;&lt;font size="3"&gt;&lt;span&gt;&lt;span style="mso-tab-count: 1"&gt;    &lt;/span&gt;第二个优化的参数&lt;/span&gt; &lt;span style="LINE-HEIGHT: 150%; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Courier New'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 'Courier New'"&gt;：&lt;/span&gt; &lt;span lang="EN-US" style="LINE-HEIGHT: 150%; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;maxMergeFactor &lt;/span&gt;&lt;span style="LINE-HEIGHT: 150%; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Courier New'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 'Courier New'"&gt;这个参数用来设置当有多少个&lt;/span&gt; &lt;span lang="EN-US" style="LINE-HEIGHT: 150%; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;Segment&lt;/span&gt; &lt;span style="LINE-HEIGHT: 150%; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Courier New'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 'Courier New'"&gt;时进行合并操作。当然我们知道当索引文件太多的话其检索的速度就会很慢，所以我们要当文件数量一定时让它进行索引的合并。这样就可以加快索引速度，但是这个值要根据你的情况而定。当文档数量较多时我们将值设大些，当文档数量较少时我们将值设小些。&lt;/span&gt; &lt;span lang="EN-US" style="LINE-HEIGHT: 150%; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt; LINE-HEIGHT: 150%"&gt;&lt;font size="3"&gt;&lt;span&gt;第三个优化的参数：&lt;/span&gt; &lt;span lang="EN-US" style="LINE-HEIGHT: 150%; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;minMergeDocs &lt;/span&gt;&lt;span style="LINE-HEIGHT: 150%; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Courier New'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 'Courier New'"&gt;这个参数用于控制内存中文档的数量。&lt;/span&gt; &lt;span lang="EN-US" style="LINE-HEIGHT: 150%; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt; LINE-HEIGHT: 150%"&gt;&lt;span lang="EN-US" style="LINE-HEIGHT: 150%; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;&lt;o:p&gt;&lt;font size="3"&gt; &lt;/font&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt; LINE-HEIGHT: 150%"&gt;&lt;font size="3"&gt;&lt;span style="LINE-HEIGHT: 150%; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Courier New'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 'Courier New'"&gt;这样我们建立索引已经完成，接下来我们要建立&lt;/span&gt; &lt;span lang="EN-US" style="LINE-HEIGHT: 150%; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;Document&lt;/span&gt; &lt;span style="LINE-HEIGHT: 150%; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Courier New'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 'Courier New'"&gt;对象，因为你必须告诉我要搜索什么吧！好了，看看源码：&lt;/span&gt; &lt;span lang="EN-US" style="LINE-HEIGHT: 150%; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt; LINE-HEIGHT: 150%"&gt;&lt;span lang="EN-US" style="LINE-HEIGHT: 150%; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;&lt;font size="3"&gt;File file = new File("1.txt"); &lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt; LINE-HEIGHT: 150%"&gt;&lt;span lang="EN-US" style="LINE-HEIGHT: 150%; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;&lt;font size="3"&gt;Document doc = new Document();&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt; &lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt; LINE-HEIGHT: 150%"&gt;&lt;span lang="EN-US" style="LINE-HEIGHT: 150%; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;&lt;font size="3"&gt;doc.add(Field.UnIndexed("filename", file.getName()));&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt; &lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt; LINE-HEIGHT: 150%"&gt;&lt;span lang="EN-US" style="LINE-HEIGHT: 150%; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;&lt;font size="3"&gt;FileInputStream fis = new FileInputStream(file);&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt; &lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt; LINE-HEIGHT: 150%"&gt;&lt;span lang="EN-US" style="LINE-HEIGHT: 150%; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;&lt;font size="3"&gt;byte[] b = new byte[fis.available()];&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt; &lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt; LINE-HEIGHT: 150%"&gt;&lt;span lang="EN-US" style="LINE-HEIGHT: 150%; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;&lt;font size="3"&gt;fis.read(b);&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt; &lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt; LINE-HEIGHT: 150%"&gt;&lt;span lang="EN-US" style="LINE-HEIGHT: 150%; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;&lt;font size="3"&gt;String content = new String(b);&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt; &lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt; LINE-HEIGHT: 150%"&gt;&lt;span lang="EN-US" style="LINE-HEIGHT: 150%; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;&lt;font size="3"&gt;doc.add(Field.Text("content", content));&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt; &lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt; LINE-HEIGHT: 150%"&gt;&lt;span lang="EN-US" style="LINE-HEIGHT: 150%; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;&lt;font size="3"&gt;fis.close();&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt; &lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt; LINE-HEIGHT: 150%"&gt;&lt;font size="3"&gt;&lt;span style="LINE-HEIGHT: 150%; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Courier New'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 'Courier New'"&gt;以上我们就完成了将&lt;/span&gt; &lt;span lang="EN-US" style="LINE-HEIGHT: 150%; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;1.txt&lt;/span&gt; &lt;span style="LINE-HEIGHT: 150%; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Courier New'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 'Courier New'"&gt;文件放到我们的&lt;/span&gt; &lt;span lang="EN-US" style="LINE-HEIGHT: 150%; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;Document&lt;/span&gt; &lt;span style="LINE-HEIGHT: 150%; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Courier New'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 'Courier New'"&gt;对象了。这里我们用了&lt;/span&gt; &lt;span lang="EN-US" style="LINE-HEIGHT: 150%; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;Field.Text();&lt;/span&gt; &lt;span style="LINE-HEIGHT: 150%; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Courier New'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 'Courier New'"&gt;这样的操作和&lt;/span&gt; &lt;span lang="EN-US" style="LINE-HEIGHT: 150%; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;doc.add();&lt;/span&gt; &lt;span style="LINE-HEIGHT: 150%; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Courier New'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 'Courier New'"&gt;这样的方法建立的。这也是建立索引的必须。&lt;/span&gt; &lt;span lang="EN-US" style="LINE-HEIGHT: 150%; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt; LINE-HEIGHT: 150%"&gt;&lt;font size="3"&gt;&lt;span style="LINE-HEIGHT: 150%; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Courier New'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 'Courier New'"&gt;稍微介绍一下&lt;/span&gt; &lt;span lang="EN-US" style="LINE-HEIGHT: 150%; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;Field&lt;/span&gt; &lt;span style="LINE-HEIGHT: 150%; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Courier New'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 'Courier New'"&gt;，它就是你要建立索引的字段。它分别有&lt;/span&gt; &lt;span lang="EN-US" style="LINE-HEIGHT: 150%; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p align="center"&gt; &lt;/p&gt;
&lt;table class="MsoNormalTable" style="BORDER-RIGHT: medium none; BORDER-TOP: medium none; BORDER-LEFT: medium none; BORDER-BOTTOM: medium none; BORDER-COLLAPSE: collapse; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 0cm 5.4pt 0cm 5.4pt; mso-border-insideh: .5pt solid windowtext; mso-border-insidev: .5pt solid windowtext" cellspacing="0" cellpadding="0" border="1"&gt;
    &lt;tbody&gt;
        &lt;tr&gt;
            &lt;td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: windowtext 1pt solid; PADDING-LEFT: 5.4pt; BACKGROUND: #8c8c8c; PADDING-BOTTOM: 0cm; BORDER-LEFT: windowtext 1pt solid; WIDTH: 155.75pt; PADDING-TOP: 0cm; BORDER-BOTTOM: windowtext 1pt solid; mso-border-alt: solid windowtext .5pt" width="208"&gt;
            &lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: center" align="center"&gt;&lt;span&gt;&lt;strong&gt;类型/方法&lt;o:p&gt;&lt;/o:p&gt;&lt;/strong&gt; &lt;/span&gt;&lt;/p&gt;
            &lt;/td&gt;
            &lt;td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: windowtext 1pt solid; PADDING-LEFT: 5.4pt; BORDER-LEFT-COLOR: #f4f4f4; BACKGROUND: #8c8c8c; PADDING-BOTTOM: 0cm; WIDTH: 38.65pt; PADDING-TOP: 0cm; BORDER-BOTTOM: windowtext 1pt solid; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt" width="52"&gt;
            &lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: center" align="center"&gt;&lt;strong&gt;&lt;span style="FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Courier New'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 'Courier New'"&gt;是否分词&lt;/span&gt; &lt;/strong&gt;&lt;strong&gt;&lt;span lang="EN-US" style="FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;
            &lt;/td&gt;
            &lt;td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: windowtext 1pt solid; PADDING-LEFT: 5.4pt; BORDER-LEFT-COLOR: #f4f4f4; BACKGROUND: #8c8c8c; PADDING-BOTTOM: 0cm; WIDTH: 36pt; PADDING-TOP: 0cm; BORDER-BOTTOM: windowtext 1pt solid; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt" width="48"&gt;
            &lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: center" align="center"&gt;&lt;strong&gt;&lt;span style="FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Courier New'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 'Courier New'"&gt;是否索引&lt;/span&gt; &lt;/strong&gt;&lt;strong&gt;&lt;span lang="EN-US" style="FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;
            &lt;/td&gt;
            &lt;td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: windowtext 1pt solid; PADDING-LEFT: 5.4pt; BORDER-LEFT-COLOR: #f4f4f4; BACKGROUND: #8c8c8c; PADDING-BOTTOM: 0cm; WIDTH: 36pt; PADDING-TOP: 0cm; BORDER-BOTTOM: windowtext 1pt solid; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt" width="48"&gt;
            &lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: center" align="center"&gt;&lt;strong&gt;&lt;span style="FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Courier New'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 'Courier New'"&gt;是否存储&lt;/span&gt; &lt;/strong&gt;&lt;strong&gt;&lt;span lang="EN-US" style="FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;
            &lt;/td&gt;
            &lt;td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: windowtext 1pt solid; PADDING-LEFT: 5.4pt; BORDER-LEFT-COLOR: #f4f4f4; BACKGROUND: #8c8c8c; PADDING-BOTTOM: 0cm; WIDTH: 159.7pt; PADDING-TOP: 0cm; BORDER-BOTTOM: windowtext 1pt solid; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt" width="213"&gt;
            &lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: center" align="center"&gt;&lt;strong&gt;&lt;span style="FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Courier New'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 'Courier New'"&gt;常用实例&lt;/span&gt; &lt;/strong&gt;&lt;strong&gt;&lt;span lang="EN-US" style="FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;
            &lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: windowtext 1pt solid; WIDTH: 155.75pt; BORDER-TOP-COLOR: #f4f4f4; PADDING-TOP: 0cm; BORDER-BOTTOM: windowtext 1pt solid; BACKGROUND-COLOR: transparent; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt" width="208"&gt;
            &lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: center" align="center"&gt;&lt;span lang="EN-US" style="FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;Keyword(String,String)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt; &lt;/p&gt;
            &lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: center" align="center"&gt;&lt;span lang="EN-US" style="FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;Keyword(String,Date)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt; &lt;/p&gt;
            &lt;/td&gt;
            &lt;td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; PADDING-LEFT: 5.4pt; BORDER-LEFT-COLOR: #f4f4f4; PADDING-BOTTOM: 0cm; WIDTH: 38.65pt; BORDER-TOP-COLOR: #f4f4f4; PADDING-TOP: 0cm; BORDER-BOTTOM: windowtext 1pt solid; BACKGROUND-COLOR: transparent; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt" width="52"&gt;
            &lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: center" align="center"&gt;&lt;span style="FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Courier New'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 'Courier New'"&gt;否&lt;/span&gt; &lt;span lang="EN-US" style="FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
            &lt;/td&gt;
            &lt;td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; PADDING-LEFT: 5.4pt; BORDER-LEFT-COLOR: #f4f4f4; PADDING-BOTTOM: 0cm; WIDTH: 36pt; BORDER-TOP-COLOR: #f4f4f4; PADDING-TOP: 0cm; BORDER-BOTTOM: windowtext 1pt solid; BACKGROUND-COLOR: transparent; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt" width="48"&gt;
            &lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: center" align="center"&gt;&lt;span style="FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Courier New'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 'Courier New'"&gt;是&lt;/span&gt; &lt;span lang="EN-US" style="FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
            &lt;/td&gt;
            &lt;td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; PADDING-LEFT: 5.4pt; BORDER-LEFT-COLOR: #f4f4f4; PADDING-BOTTOM: 0cm; WIDTH: 36pt; BORDER-TOP-COLOR: #f4f4f4; PADDING-TOP: 0cm; BORDER-BOTTOM: windowtext 1pt solid; BACKGROUND-COLOR: transparent; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt" width="48"&gt;
            &lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: center" align="center"&gt;&lt;span style="FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Courier New'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 'Courier New'"&gt;是&lt;/span&gt; &lt;span lang="EN-US" style="FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
            &lt;/td&gt;
            &lt;td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; PADDING-LEFT: 5.4pt; BORDER-LEFT-COLOR: #f4f4f4; PADDING-BOTTOM: 0cm; WIDTH: 159.7pt; BORDER-TOP-COLOR: #f4f4f4; PADDING-TOP: 0cm; BORDER-BOTTOM: windowtext 1pt solid; BACKGROUND-COLOR: transparent; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt" width="213"&gt;
            &lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: center" align="center"&gt;&lt;span style="FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Courier New'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 'Courier New'"&gt;电话号码，身份证，人名，地名，日期&lt;/span&gt; &lt;span lang="EN-US" style="FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
            &lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: windowtext 1pt solid; WIDTH: 155.75pt; BORDER-TOP-COLOR: #f4f4f4; PADDING-TOP: 0cm; BORDER-BOTTOM: windowtext 1pt solid; BACKGROUND-COLOR: transparent; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt" valign="top" width="208"&gt;
            &lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: 150%; TEXT-ALIGN: center" align="center"&gt;&lt;span lang="EN-US" style="LINE-HEIGHT: 150%; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;Unindexed(String,String)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt; &lt;/p&gt;
            &lt;/td&gt;
            &lt;td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; PADDING-LEFT: 5.4pt; BORDER-LEFT-COLOR: #f4f4f4; PADDING-BOTTOM: 0cm; WIDTH: 38.65pt; BORDER-TOP-COLOR: #f4f4f4; PADDING-TOP: 0cm; BORDER-BOTTOM: windowtext 1pt solid; BACKGROUND-COLOR: transparent; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt" valign="top" width="52"&gt;
            &lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: 150%; TEXT-ALIGN: center" align="center"&gt;&lt;span style="LINE-HEIGHT: 150%; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Courier New'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 'Courier New'"&gt;否&lt;/span&gt; &lt;span lang="EN-US" style="LINE-HEIGHT: 150%; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
            &lt;/td&gt;
            &lt;td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; PADDING-LEFT: 5.4pt; BORDER-LEFT-COLOR: #f4f4f4; PADDING-BOTTOM: 0cm; WIDTH: 36pt; BORDER-TOP-COLOR: #f4f4f4; PADDING-TOP: 0cm; BORDER-BOTTOM: windowtext 1pt solid; BACKGROUND-COLOR: transparent; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt" valign="top" width="48"&gt;
            &lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: 150%; TEXT-ALIGN: center" align="center"&gt;&lt;span style="LINE-HEIGHT: 150%; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Courier New'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 'Courier New'"&gt;否&lt;/span&gt; &lt;span lang="EN-US" style="LINE-HEIGHT: 150%; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
            &lt;/td&gt;
            &lt;td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; PADDING-LEFT: 5.4pt; BORDER-LEFT-COLOR: #f4f4f4; PADDING-BOTTOM: 0cm; WIDTH: 36pt; BORDER-TOP-COLOR: #f4f4f4; PADDING-TOP: 0cm; BORDER-BOTTOM: windowtext 1pt solid; BACKGROUND-COLOR: transparent; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt" valign="top" width="48"&gt;
            &lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: 150%; TEXT-ALIGN: center" align="center"&gt;&lt;span style="LINE-HEIGHT: 150%; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Courier New'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 'Courier New'"&gt;是&lt;/span&gt; &lt;span lang="EN-US" style="LINE-HEIGHT: 150%; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
            &lt;/td&gt;
            &lt;td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; PADDING-LEFT: 5.4pt; BORDER-LEFT-COLOR: #f4f4f4; PADDING-BOTTOM: 0cm; WIDTH: 159.7pt; BORDER-TOP-COLOR: #f4f4f4; PADDING-TOP: 0cm; BORDER-BOTTOM: windowtext 1pt solid; BACKGROUND-COLOR: transparent; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt" valign="top" width="213"&gt;
            &lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: 150%; TEXT-ALIGN: center" align="center"&gt;&lt;span style="LINE-HEIGHT: 150%; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Courier New'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 'Courier New'"&gt;文档类型，文档名称&lt;/span&gt; &lt;span lang="EN-US" style="LINE-HEIGHT: 150%; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
            &lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: windowtext 1pt solid; WIDTH: 155.75pt; BORDER-TOP-COLOR: #f4f4f4; PADDING-TOP: 0cm; BORDER-BOTTOM: windowtext 1pt solid; BACKGROUND-COLOR: transparent; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt" valign="top" width="208"&gt;
            &lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: 150%; TEXT-ALIGN: center" align="center"&gt;&lt;span lang="EN-US" style="LINE-HEIGHT: 150%; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;UnStored(String,String)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt; &lt;/p&gt;
            &lt;/td&gt;
            &lt;td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; PADDING-LEFT: 5.4pt; BORDER-LEFT-COLOR: #f4f4f4; PADDING-BOTTOM: 0cm; WIDTH: 38.65pt; BORDER-TOP-COLOR: #f4f4f4; PADDING-TOP: 0cm; BORDER-BOTTOM: windowtext 1pt solid; BACKGROUND-COLOR: transparent; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt" valign="top" width="52"&gt;
            &lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: 150%; TEXT-ALIGN: center" align="center"&gt;&lt;span style="LINE-HEIGHT: 150%; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Courier New'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 'Courier New'"&gt;是&lt;/span&gt; &lt;span lang="EN-US" style="LINE-HEIGHT: 150%; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
            &lt;/td&gt;
            &lt;td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; PADDING-LEFT: 5.4pt; BORDER-LEFT-COLOR: #f4f4f4; PADDING-BOTTOM: 0cm; WIDTH: 36pt; BORDER-TOP-COLOR: #f4f4f4; PADDING-TOP: 0cm; BORDER-BOTTOM: windowtext 1pt solid; BACKGROUND-COLOR: transparent; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt" valign="top" width="48"&gt;
            &lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: 150%; TEXT-ALIGN: center" align="center"&gt;&lt;span style="LINE-HEIGHT: 150%; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Courier New'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 'Courier New'"&gt;是&lt;/span&gt; &lt;span lang="EN-US" style="LINE-HEIGHT: 150%; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
            &lt;/td&gt;
            &lt;td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; PADDING-LEFT: 5.4pt; BORDER-LEFT-COLOR: #f4f4f4; PADDING-BOTTOM: 0cm; WIDTH: 36pt; BORDER-TOP-COLOR: #f4f4f4; PADDING-TOP: 0cm; BORDER-BOTTOM: windowtext 1pt solid; BACKGROUND-COLOR: transparent; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt" valign="top" width="48"&gt;
            &lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: 150%; TEXT-ALIGN: center" align="center"&gt;&lt;span style="LINE-HEIGHT: 150%; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Courier New'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 'Courier New'"&gt;否&lt;/span&gt; &lt;span lang="EN-US" style="LINE-HEIGHT: 150%; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
            &lt;/td&gt;
            &lt;td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; PADDING-LEFT: 5.4pt; BORDER-LEFT-COLOR: #f4f4f4; PADDING-BOTTOM: 0cm; WIDTH: 159.7pt; BORDER-TOP-COLOR: #f4f4f4; PADDING-TOP: 0cm; BORDER-BOTTOM: windowtext 1pt solid; BACKGROUND-COLOR: transparent; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt" valign="top" width="213"&gt;
            &lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: 150%; TEXT-ALIGN: center" align="center"&gt;&lt;span style="LINE-HEIGHT: 150%; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Courier New'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 'Courier New'"&gt;文档的标题和内容&lt;/span&gt; &lt;span lang="EN-US" style="LINE-HEIGHT: 150%; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
            &lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: windowtext 1pt solid; WIDTH: 155.75pt; BORDER-TOP-COLOR: #f4f4f4; PADDING-TOP: 0cm; BORDER-BOTTOM: windowtext 1pt solid; BACKGROUND-COLOR: transparent; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt" valign="top" width="208"&gt;
            &lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: 150%; TEXT-ALIGN: center" align="center"&gt;&lt;span lang="EN-US" style="LINE-HEIGHT: 150%; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;Text(String,String)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt; &lt;/p&gt;
            &lt;/td&gt;
            &lt;td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; PADDING-LEFT: 5.4pt; BORDER-LEFT-COLOR: #f4f4f4; PADDING-BOTTOM: 0cm; WIDTH: 38.65pt; BORDER-TOP-COLOR: #f4f4f4; PADDING-TOP: 0cm; BORDER-BOTTOM: windowtext 1pt solid; BACKGROUND-COLOR: transparent; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt" valign="top" width="52"&gt;
            &lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: 150%; TEXT-ALIGN: center" align="center"&gt;&lt;span style="LINE-HEIGHT: 150%; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Courier New'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 'Courier New'"&gt;是&lt;/span&gt; &lt;span lang="EN-US" style="LINE-HEIGHT: 150%; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
            &lt;/td&gt;
            &lt;td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; PADDING-LEFT: 5.4pt; BORDER-LEFT-COLOR: #f4f4f4; PADDING-BOTTOM: 0cm; WIDTH: 36pt; BORDER-TOP-COLOR: #f4f4f4; PADDING-TOP: 0cm; BORDER-BOTTOM: windowtext 1pt solid; BACKGROUND-COLOR: transparent; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt" valign="top" width="48"&gt;
            &lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: 150%; TEXT-ALIGN: center" align="center"&gt;&lt;span style="LINE-HEIGHT: 150%; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Courier New'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 'Courier New'"&gt;是&lt;/span&gt; &lt;span lang="EN-US" style="LINE-HEIGHT: 150%; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
            &lt;/td&gt;
            &lt;td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; PADDING-LEFT: 5.4pt; BORDER-LEFT-COLOR: #f4f4f4; PADDING-BOTTOM: 0cm; WIDTH: 36pt; BORDER-TOP-COLOR: #f4f4f4; PADDING-TOP: 0cm; BORDER-BOTTOM: windowtext 1pt solid; BACKGROUND-COLOR: transparent; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt" valign="top" width="48"&gt;
            &lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: 150%; TEXT-ALIGN: center" align="center"&gt;&lt;span style="LINE-HEIGHT: 150%; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Courier New'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 'Courier New'"&gt;是&lt;/span&gt; &lt;span lang="EN-US" style="LINE-HEIGHT: 150%; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
            &lt;/td&gt;
            &lt;td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; PADDING-LEFT: 5.4pt; BORDER-LEFT-COLOR: #f4f4f4; PADDING-BOTTOM: 0cm; WIDTH: 159.7pt; BORDER-TOP-COLOR: #f4f4f4; PADDING-TOP: 0cm; BORDER-BOTTOM: windowtext 1pt solid; BACKGROUND-COLOR: transparent; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt" valign="top" width="213"&gt;
            &lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: 150%; TEXT-ALIGN: center" align="center"&gt;&lt;span style="LINE-HEIGHT: 150%; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Courier New'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 'Courier New'"&gt;文档的标题和内容&lt;/span&gt; &lt;span lang="EN-US" style="LINE-HEIGHT: 150%; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
            &lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr style="mso-yfti-lastrow: yes"&gt;
            &lt;td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: windowtext 1pt solid; WIDTH: 155.75pt; BORDER-TOP-COLOR: #f4f4f4; PADDING-TOP: 0cm; BORDER-BOTTOM: windowtext 1pt solid; BACKGROUND-COLOR: transparent; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt" valign="top" width="208"&gt;
            &lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: 150%; TEXT-ALIGN: center" align="center"&gt;&lt;span lang="EN-US" style="LINE-HEIGHT: 150%; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;Text(String,Reader)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt; &lt;/p&gt;
            &lt;/td&gt;
            &lt;td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; PADDING-LEFT: 5.4pt; BORDER-LEFT-COLOR: #f4f4f4; PADDING-BOTTOM: 0cm; WIDTH: 38.65pt; BORDER-TOP-COLOR: #f4f4f4; PADDING-TOP: 0cm; BORDER-BOTTOM: windowtext 1pt solid; BACKGROUND-COLOR: transparent; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt" valign="top" width="52"&gt;
            &lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: 150%; TEXT-ALIGN: center" align="center"&gt;&lt;span style="LINE-HEIGHT: 150%; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Courier New'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 'Courier New'"&gt;是&lt;/span&gt; &lt;span lang="EN-US" style="LINE-HEIGHT: 150%; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
            &lt;/td&gt;
            &lt;td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; PADDING-LEFT: 5.4pt; BORDER-LEFT-COLOR: #f4f4f4; PADDING-BOTTOM: 0cm; WIDTH: 36pt; BORDER-TOP-COLOR: #f4f4f4; PADDING-TOP: 0cm; BORDER-BOTTOM: windowtext 1pt solid; BACKGROUND-COLOR: transparent; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt" valign="top" width="48"&gt;
            &lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: 150%; TEXT-ALIGN: center" align="center"&gt;&lt;span style="LINE-HEIGHT: 150%; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Courier New'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 'Courier New'"&gt;是&lt;/span&gt; &lt;span lang="EN-US" style="LINE-HEIGHT: 150%; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
            &lt;/td&gt;
            &lt;td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; PADDING-LEFT: 5.4pt; BORDER-LEFT-COLOR: #f4f4f4; PADDING-BOTTOM: 0cm; WIDTH: 36pt; BORDER-TOP-COLOR: #f4f4f4; PADDING-TOP: 0cm; BORDER-BOTTOM: windowtext 1pt solid; BACKGROUND-COLOR: transparent; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt" valign="top" width="48"&gt;
            &lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: 150%; TEXT-ALIGN: center" align="center"&gt;&lt;span style="LINE-HEIGHT: 150%; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Courier New'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 'Courier New'"&gt;否&lt;/span&gt; &lt;span lang="EN-US" style="LINE-HEIGHT: 150%; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
            &lt;/td&gt;
            &lt;td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; PADDING-LEFT: 5.4pt; BORDER-LEFT-COLOR: #f4f4f4; PADDING-BOTTOM: 0cm; WIDTH: 159.7pt; BORDER-TOP-COLOR: #f4f4f4; PADDING-TOP: 0cm; BORDER-BOTTOM: windowtext 1pt solid; BACKGROUND-COLOR: transparent; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt" valign="top" width="213"&gt;
            &lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: 150%; TEXT-ALIGN: center" align="center"&gt;&lt;span style="LINE-HEIGHT: 150%; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Courier New'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 'Courier New'"&gt;文档的标题和内容&lt;/span&gt; &lt;span lang="EN-US" style="LINE-HEIGHT: 150%; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
            &lt;/td&gt;
        &lt;/tr&gt;
    &lt;/tbody&gt;
&lt;/table&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: 150%"&gt;&lt;font size="3"&gt;&lt;span lang="EN-US" style="LINE-HEIGHT: 150%; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;&lt;span style="mso-tab-count: 1"&gt;    &lt;/span&gt;&lt;/span&gt;&lt;span style="LINE-HEIGHT: 150%; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Courier New'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 'Courier New'"&gt;这样我们要建什么样的索引就对号入座吧，只要最后我们使用&lt;/span&gt; &lt;span lang="EN-US" style="LINE-HEIGHT: 150%; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;doc.add(Field.Text("content", content));&lt;/span&gt; &lt;span style="LINE-HEIGHT: 150%; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Courier New'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 'Courier New'"&gt;把它添加到&lt;/span&gt; &lt;span lang="EN-US" style="LINE-HEIGHT: 150%; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;Document&lt;/span&gt; &lt;span style="LINE-HEIGHT: 150%; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Courier New'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 'Courier New'"&gt;中就可以了。&lt;/span&gt; &lt;span lang="EN-US" style="LINE-HEIGHT: 150%; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: 150%"&gt;&lt;font size="3"&gt;&lt;span lang="EN-US" style="LINE-HEIGHT: 150%; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;&lt;span style="mso-tab-count: 1"&gt;    &lt;/span&gt;&lt;/span&gt;&lt;span style="LINE-HEIGHT: 150%; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Courier New'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 'Courier New'"&gt;这时我们的文档已经建立好了，现在就开始向索引中添加文档吧！这里我们使用&lt;/span&gt; &lt;span lang="EN-US" style="LINE-HEIGHT: 150%; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: 150%"&gt;&lt;font size="3"&gt;&lt;span lang="EN-US" style="LINE-HEIGHT: 150%; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;writer.addDocument(doc);&lt;/span&gt; &lt;span style="LINE-HEIGHT: 150%; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Courier New'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 'Courier New'"&gt;来向&lt;/span&gt; &lt;span lang="EN-US" style="LINE-HEIGHT: 150%; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;Indexwriter&lt;/span&gt; &lt;span style="LINE-HEIGHT: 150%; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Courier New'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 'Courier New'"&gt;索引中添加构造好的文档。&lt;/span&gt; &lt;span lang="EN-US" style="LINE-HEIGHT: 150%; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: 150%"&gt;&lt;font size="3"&gt;&lt;span style="LINE-HEIGHT: 150%; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Courier New'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 'Courier New'"&gt;这样我们是不是就可以说我们已经建立完了索引呢，其实不然，我们还要优化优化，这样才快嘛！对不对？&lt;/span&gt; &lt;span lang="EN-US" style="LINE-HEIGHT: 150%; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: 150%"&gt;&lt;font size="3"&gt;&lt;span lang="EN-US" style="LINE-HEIGHT: 150%; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;&lt;span style="mso-tab-count: 1"&gt;    &lt;/span&gt;writer.optimize(); &lt;/span&gt;&lt;span style="LINE-HEIGHT: 150%; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Courier New'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 'Courier New'"&gt;这样一句话就可以实现索引优化了，具体的优化过程我就不说了，是不是很简单。但是一定不要忘了哦。调用这个方法时最好建立一个合适的周期。定期进行优化。&lt;/span&gt; &lt;span lang="EN-US" style="LINE-HEIGHT: 150%; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: 150%"&gt;&lt;font size="3"&gt;&lt;span lang="EN-US" style="LINE-HEIGHT: 150%; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;&lt;span style="mso-tab-count: 1"&gt;    &lt;/span&gt;&lt;/span&gt;&lt;span style="LINE-HEIGHT: 150%; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Courier New'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 'Courier New'"&gt;好了，这样我们就完成了索引的建立了。&lt;/span&gt; &lt;span lang="EN-US" style="LINE-HEIGHT: 150%; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: 150%"&gt;&lt;font size="3"&gt;&lt;span&gt;&lt;span style="mso-tab-count: 1"&gt;    &lt;/span&gt;下面我们看看缩影的合并吧！&lt;/span&gt; &lt;span lang="EN-US" style="LINE-HEIGHT: 150%; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt; LINE-HEIGHT: 150%"&gt;&lt;font size="3"&gt;&lt;span style="LINE-HEIGHT: 150%; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Courier New'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 'Courier New'"&gt;当我们在很多地方建立了很多的索引后，想要合并这些索引我们怎么办呢？&lt;/span&gt; &lt;span lang="EN-US" style="LINE-HEIGHT: 150%; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: 150%"&gt;&lt;font size="3"&gt;&lt;span lang="EN-US" style="LINE-HEIGHT: 150%; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;&lt;span style="mso-tab-count: 1"&gt;    &lt;/span&gt;&lt;/span&gt;&lt;span style="LINE-HEIGHT: 150%; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Courier New'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 'Courier New'"&gt;使用&lt;/span&gt; &lt;span lang="EN-US" style="LINE-HEIGHT: 150%; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;IndexWriter.assIndexs(New Directory[]{path});&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt; &lt;/font&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: 150%"&gt;&lt;font size="3"&gt;&lt;span style="LINE-HEIGHT: 150%; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Courier New'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 'Courier New'"&gt;就可以对&lt;/span&gt; &lt;span lang="EN-US" style="LINE-HEIGHT: 150%; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;path&lt;/span&gt; &lt;span style="LINE-HEIGHT: 150%; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Courier New'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 'Courier New'"&gt;路径下的索引合并到当前的索引中了。&lt;/span&gt; &lt;span lang="EN-US" style="LINE-HEIGHT: 150%; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: 150%"&gt;&lt;span&gt;&lt;font size="3"&gt;&lt;span style="mso-tab-count: 1"&gt;    &lt;/span&gt;下面再看看索引的删除吧！&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt; &lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: 150%"&gt;&lt;font size="3"&gt;&lt;span lang="EN-US" style="LINE-HEIGHT: 150%; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;&lt;span style="mso-tab-count: 1"&gt;    &lt;/span&gt;&lt;/span&gt;&lt;span style="LINE-HEIGHT: 150%; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Courier New'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 'Courier New'"&gt;有一些过时的索引我们需要删除，怎么办呢？&lt;/span&gt; &lt;span lang="EN-US" style="LINE-HEIGHT: 150%; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt; LINE-HEIGHT: 150%"&gt;&lt;span lang="EN-US" style="LINE-HEIGHT: 150%; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;&lt;font size="3"&gt;IndexReader reader = IndexReader.open("c:\\index");&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt; &lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: 150%"&gt;&lt;span lang="EN-US" style="LINE-HEIGHT: 150%; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;&lt;font size="3"&gt;&lt;span style="mso-tab-count: 1"&gt;    &lt;/span&gt;reader.delete(0);&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt; &lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt; LINE-HEIGHT: 150%"&gt;&lt;font size="3"&gt;&lt;span style="LINE-HEIGHT: 150%; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Courier New'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 'Courier New'"&gt;这样我们就可以按照文档的顺序删除对应的文档了，但是这样不太现实，不对吗？我们怎么会知道文档的顺序呢？&lt;/span&gt; &lt;span lang="EN-US" style="LINE-HEIGHT: 150%; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt; LINE-HEIGHT: 150%"&gt;&lt;font size="3"&gt;&lt;span style="LINE-HEIGHT: 150%; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Courier New'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 'Courier New'"&gt;下面我们看看第二中方法：&lt;/span&gt; &lt;span lang="EN-US" style="LINE-HEIGHT: 150%; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt; LINE-HEIGHT: 150%"&gt;&lt;span lang="EN-US" style="LINE-HEIGHT: 150%; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;&lt;font size="3"&gt;IndexReader reader = IndexReader.open("c:\\index");&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt; &lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt; LINE-HEIGHT: 150%"&gt;&lt;span lang="EN-US" style="LINE-HEIGHT: 150%; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;&lt;font size="3"&gt;reader.delete(new Term("name","word1"));&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt; &lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt; LINE-HEIGHT: 150%"&gt;&lt;span lang="EN-US" style="LINE-HEIGHT: 150%; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;&lt;font size="3"&gt;reader.close();&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt; &lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt; LINE-HEIGHT: 150%"&gt;&lt;font size="3"&gt;&lt;span style="LINE-HEIGHT: 150%; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Courier New'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 'Courier New'"&gt;按照字段来删除对应的文档，这样合理多了。以后要删除时就按照词条的方式去删除吧&lt;/span&gt; &lt;span lang="EN-US" style="LINE-HEIGHT: 150%; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;!&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt; &lt;/font&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt; LINE-HEIGHT: 150%"&gt;&lt;font size="3"&gt;&lt;span style="LINE-HEIGHT: 150%; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Courier New'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 'Courier New'"&gt;索引锁：&lt;/span&gt; &lt;span lang="EN-US" style="LINE-HEIGHT: 150%; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;write.lock , commit.lock.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt; &lt;/font&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt; LINE-HEIGHT: 150%"&gt;&lt;font size="3"&gt;&lt;span lang="EN-US" style="LINE-HEIGHT: 150%; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;write.lock &lt;/span&gt;&lt;span style="LINE-HEIGHT: 150%; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Courier New'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 'Courier New'"&gt;是为了避免几个线程同时修改一个索引文档而设置。当实例一个&lt;/span&gt; &lt;span lang="EN-US" style="LINE-HEIGHT: 150%; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;indexwrite&lt;/span&gt; &lt;span style="LINE-HEIGHT: 150%; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Courier New'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 'Courier New'"&gt;时建立和使用&lt;/span&gt; &lt;span lang="EN-US" style="LINE-HEIGHT: 150%; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;indexReader&lt;/span&gt; &lt;span style="LINE-HEIGHT: 150%; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Courier New'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 'Courier New'"&gt;删除文档时建立。&lt;/span&gt; &lt;span lang="EN-US" style="LINE-HEIGHT: 150%; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt; LINE-HEIGHT: 150%"&gt;&lt;font size="3"&gt;&lt;span lang="EN-US" style="LINE-HEIGHT: 150%; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;Commit.lock &lt;/span&gt;&lt;span style="LINE-HEIGHT: 150%; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Courier New'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 'Courier New'"&gt;该锁主要在&lt;/span&gt; &lt;span lang="EN-US" style="LINE-HEIGHT: 150%; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;segment&lt;/span&gt; &lt;span style="LINE-HEIGHT: 150%; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Courier New'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 'Courier New'"&gt;在建立，合并或读取时生成。&lt;/span&gt; &lt;span lang="EN-US" style="LINE-HEIGHT: 150%; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;
&lt;h1 style="MARGIN: 17pt 0cm 16.5pt 21.25pt; TEXT-INDENT: -21.25pt; tab-stops: list 21.25pt; mso-list: l1 level1 lfo1"&gt;&lt;span lang="EN-US" style="FONT-SIZE: 12pt; LINE-HEIGHT: 240%; mso-bidi-font-size: 22.0pt; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;span style="mso-list: Ignore"&gt;4&lt;span style="FONT: 7pt 'Times New Roman'"&gt;          &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span lang="EN-US" style="FONT-SIZE: 12pt; LINE-HEIGHT: 240%; mso-bidi-font-size: 22.0pt"&gt;Lucene&lt;/span&gt; &lt;span style="FONT-SIZE: 12pt; LINE-HEIGHT: 240%; FONT-FAMILY: 宋体; mso-bidi-font-size: 22.0pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;的搜索&lt;/span&gt; &lt;span lang="EN-US" style="FONT-SIZE: 12pt; LINE-HEIGHT: 240%; mso-bidi-font-size: 22.0pt"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/h1&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"&gt;&lt;span lang="EN-US"&gt;&lt;o:p&gt;&lt;font size="3"&gt; &lt;/font&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt; LINE-HEIGHT: 150%"&gt;&lt;font size="3"&gt;&lt;span style="LINE-HEIGHT: 150%; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Courier New'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 'Courier New'"&gt;以上完成了索引的建立和一些关于索引的知识，但是光有索引是不行的，我们真正要做的检索，这才是我们的关键。现在我们看看&lt;/span&gt; &lt;span lang="EN-US" style="LINE-HEIGHT: 150%; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;lucene&lt;/span&gt; &lt;span style="LINE-HEIGHT: 150%; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Courier New'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 'Courier New'"&gt;的检索吧。&lt;/span&gt; &lt;span lang="EN-US" style="LINE-HEIGHT: 150%; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt; LINE-HEIGHT: 150%"&gt;&lt;font size="3"&gt;&lt;span style="LINE-HEIGHT: 150%; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Courier New'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 'Courier New'"&gt;认识检索从检索的工具开始吧！&lt;/span&gt; &lt;span lang="EN-US" style="LINE-HEIGHT: 150%; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;IndexSearcher&lt;/span&gt; &lt;span style="LINE-HEIGHT: 150%; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Courier New'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 'Courier New'"&gt;类是&lt;/span&gt; &lt;span lang="EN-US" style="LINE-HEIGHT: 150%; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;lucene&lt;/span&gt; &lt;span style="LINE-HEIGHT: 150%; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Courier New'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 'Courier New'"&gt;用于检索的工具类，我们在检索之前要得到这个类的实例。&lt;/span&gt; &lt;span lang="EN-US" style="LINE-HEIGHT: 150%; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt; LINE-HEIGHT: 150%"&gt;&lt;font size="3"&gt;&lt;span style="LINE-HEIGHT: 150%; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Courier New'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 'Courier New'"&gt;第一步我们看以下代码：&lt;/span&gt; &lt;span lang="EN-US" style="LINE-HEIGHT: 150%; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt; LINE-HEIGHT: 150%"&gt;&lt;span lang="EN-US" style="LINE-HEIGHT: 150%; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;&lt;font size="3"&gt;IndexSearcher searcher = new IndexSearcher("c:\\index");&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt; &lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt; LINE-HEIGHT: 150%"&gt;&lt;font size="3"&gt;&lt;span style="LINE-HEIGHT: 150%; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Courier New'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 'Courier New'"&gt;创建&lt;/span&gt; &lt;span lang="EN-US" style="LINE-HEIGHT: 150%; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;IndexSearcher&lt;/span&gt; &lt;span style="LINE-HEIGHT: 150%; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Courier New'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 'Courier New'"&gt;实例需要告诉&lt;/span&gt; &lt;span lang="EN-US" style="LINE-HEIGHT: 150%; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;lucene&lt;/span&gt; &lt;span style="LINE-HEIGHT: 150%; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Courier New'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 'Courier New'"&gt;索引的位置，就是你&lt;/span&gt; &lt;span lang="EN-US" style="LINE-HEIGHT: 150%; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;IndexWrite&lt;/span&gt; &lt;span style="LINE-HEIGHT: 150%; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Courier New'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 'Courier New'"&gt;的文件路径。&lt;/span&gt; &lt;span lang="EN-US" style="LINE-HEIGHT: 150%; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt"&gt;&lt;span lang="EN-US" style="FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;&lt;font size="3"&gt;Query query = null;&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt; &lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt"&gt;&lt;span lang="EN-US" style="FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;&lt;font size="3"&gt;Hits hits = null;&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt; &lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt"&gt;&lt;span lang="EN-US" style="FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;&lt;font size="3"&gt;query = QueryParser.parse(key1, "name", new StandardAnalyzer());&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt; &lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt"&gt;&lt;span lang="EN-US" style="FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;&lt;font size="3"&gt;hits = searcher.search(query);&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt; &lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt"&gt;&lt;span lang="EN-US" style="FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;&lt;font size="3"&gt;if (hits != null) {&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt; &lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt"&gt;&lt;span lang="EN-US" style="FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;&lt;font size="3"&gt;&lt;span style="mso-tab-count: 3"&gt;           &lt;/span&gt;if (hits.length() == 0) {&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt; &lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt"&gt;&lt;font size="3"&gt;&lt;span lang="EN-US" style="FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;&lt;span style="mso-tab-count: 4"&gt;              &lt;/span&gt;System.out.println("&lt;/span&gt; &lt;span style="FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Courier New'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 'Courier New'"&gt;没有找到任何结果&lt;/span&gt; &lt;span lang="EN-US" style="FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;");&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt; &lt;/font&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt"&gt;&lt;span lang="EN-US" style="FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;&lt;font size="3"&gt;&lt;span style="mso-tab-count: 3"&gt;           &lt;/span&gt;} else {&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt; &lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt"&gt;&lt;font size="3"&gt;&lt;span lang="EN-US" style="FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;&lt;span style="mso-tab-count: 4"&gt;              &lt;/span&gt;System.out.print("&lt;/span&gt; &lt;span style="FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Courier New'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 'Courier New'"&gt;找到&lt;/span&gt; &lt;span lang="EN-US" style="FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;");&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt; &lt;/font&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt"&gt;&lt;span lang="EN-US" style="FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;&lt;font size="3"&gt;&lt;span style="mso-tab-count: 4"&gt;              &lt;/span&gt;for (int i = 0; i &amp;lt; hits.length(); i++) {&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt; &lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt"&gt;&lt;span lang="EN-US" style="FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;&lt;font size="3"&gt;&lt;span style="mso-tab-count: 5"&gt;                  &lt;/span&gt;Document d = hits.doc(i);&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt; &lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt"&gt;&lt;span lang="EN-US" style="FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;&lt;font size="3"&gt;&lt;span style="mso-tab-count: 5"&gt;                  &lt;/span&gt;String dname = d.get("title");&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt; &lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt"&gt;&lt;span lang="EN-US" style="FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;&lt;font size="3"&gt;&lt;span style="mso-tab-count: 5"&gt;                  &lt;/span&gt;System.out.print(dname + "&lt;span style="mso-spacerun: yes"&gt;   &lt;/span&gt;" );&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt; &lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt"&gt;&lt;span lang="EN-US" style="FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;&lt;font size="3"&gt;&lt;span style="mso-tab-count: 4"&gt;              &lt;/span&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt; &lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt"&gt;&lt;span lang="EN-US" style="FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;&lt;font size="3"&gt;&lt;span style="mso-tab-count: 3"&gt;           &lt;/span&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt; &lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt"&gt;&lt;span lang="EN-US" style="FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;&lt;font size="3"&gt;&lt;span style="mso-tab-count: 2"&gt;       &lt;/span&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt; &lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt"&gt;&lt;span lang="EN-US" style="FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;&lt;font size="3"&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt; &lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt; LINE-HEIGHT: 150%"&gt;&lt;font size="3"&gt;&lt;span style="LINE-HEIGHT: 150%; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Courier New'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 'Courier New'"&gt;以上就是一个完整的检索过程，这里我们看见了个&lt;/span&gt; &lt;span lang="EN-US" style="LINE-HEIGHT: 150%; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;Query&lt;/span&gt; &lt;span style="LINE-HEIGHT: 150%; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Courier New'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 'Courier New'"&gt;和&lt;/span&gt; &lt;span lang="EN-US" style="LINE-HEIGHT: 150%; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;Hits&lt;/span&gt; &lt;span style="LINE-HEIGHT: 150%; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Courier New'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 'Courier New'"&gt;，这两个类就是比较关键的了，我们先从检索结果的&lt;/span&gt; &lt;span lang="EN-US" style="LINE-HEIGHT: 150%; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;Hits&lt;/span&gt; &lt;span style="LINE-HEIGHT: 150%; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Courier New'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 'Courier New'"&gt;类说起。&lt;/span&gt; &lt;span lang="EN-US" style="LINE-HEIGHT: 150%; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt; LINE-HEIGHT: 150%"&gt;&lt;font size="3"&gt;&lt;span style="LINE-HEIGHT: 150%; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Courier New'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 'Courier New'"&gt;我们使用&lt;/span&gt; &lt;span lang="EN-US" style="LINE-HEIGHT: 150%; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;Hits&lt;/span&gt; &lt;span style="LINE-HEIGHT: 150%; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Courier New'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 'Courier New'"&gt;经常使用的几个方法有：&lt;/span&gt; &lt;span lang="EN-US" style="LINE-HEIGHT: 150%; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt; LINE-HEIGHT: 150%"&gt;&lt;font size="3"&gt;&lt;span lang="EN-US" style="LINE-HEIGHT: 150%; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;length() :&lt;span style="mso-spacerun: yes"&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span style="LINE-HEIGHT: 150%; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Courier New'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 'Courier New'"&gt;返回搜索结果的总数量。&lt;/span&gt; &lt;span lang="EN-US" style="LINE-HEIGHT: 150%; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt; LINE-HEIGHT: 150%"&gt;&lt;font size="3"&gt;&lt;span lang="EN-US" style="LINE-HEIGHT: 150%; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;Doc(int n) : &lt;/span&gt;&lt;span style="LINE-HEIGHT: 150%; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Courier New'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 'Courier New'"&gt;放回第&lt;/span&gt; &lt;span lang="EN-US" style="LINE-HEIGHT: 150%; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;n&lt;/span&gt; &lt;span style="LINE-HEIGHT: 150%; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Courier New'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 'Courier New'"&gt;个文档。&lt;/span&gt; &lt;span lang="EN-US" style="LINE-HEIGHT: 150%; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt; LINE-HEIGHT: 150%"&gt;&lt;font size="3"&gt;&lt;span lang="EN-US" style="LINE-HEIGHT: 150%; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;Id(int n) :&lt;/span&gt; &lt;span style="LINE-HEIGHT: 150%; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Courier New'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 'Courier New'"&gt;返回第&lt;/span&gt; &lt;span lang="EN-US" style="LINE-HEIGHT: 150%; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;n&lt;/span&gt; &lt;span style="LINE-HEIGHT: 150%; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Courier New'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 'Courier New'"&gt;个文档的内部编号。&lt;/span&gt; &lt;span lang="EN-US" style="LINE-HEIGHT: 150%; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt; LINE-HEIGHT: 150%"&gt;&lt;font size="3"&gt;&lt;span lang="EN-US" style="LINE-HEIGHT: 150%; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;Sorce(int n) : &lt;/span&gt;&lt;span style="LINE-HEIGHT: 150%; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Courier New'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 'Courier New'"&gt;返回第&lt;/span&gt; &lt;span lang="EN-US" style="LINE-HEIGHT: 150%; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;n&lt;/span&gt; &lt;span style="LINE-HEIGHT: 150%; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Courier New'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 'Courier New'"&gt;个文档的得分。&lt;/span&gt; &lt;span lang="EN-US" style="LINE-HEIGHT: 150%; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt; LINE-HEIGHT: 150%"&gt;&lt;font size="3"&gt;&lt;span style="LINE-HEIGHT: 150%; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Courier New'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 'Courier New'"&gt;看见这个&lt;/span&gt; &lt;span lang="EN-US" style="LINE-HEIGHT: 150%; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;Sorce(int n) &lt;/span&gt;&lt;span style="LINE-HEIGHT: 150%; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Courier New'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 'Courier New'"&gt;这个方法，是不是就可以联想到搜索引擎的排序问题呢，像百度的推广是怎么做出来的呢&lt;/span&gt; &lt;span lang="EN-US" style="LINE-HEIGHT: 150%; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;,&lt;/span&gt; &lt;span style="LINE-HEIGHT: 150%; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Courier New'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 'Courier New'"&gt;可想而知吧，那就说明必定存在一中方法可以动态的改变某片文档的得分。对了，&lt;/span&gt; &lt;span lang="EN-US" style="LINE-HEIGHT: 150%; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;lucene&lt;/span&gt; &lt;span style="LINE-HEIGHT: 150%; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Courier New'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 'Courier New'"&gt;中可以使用&lt;/span&gt; &lt;span lang="EN-US" style="LINE-HEIGHT: 150%; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;Document&lt;/span&gt; &lt;span style="LINE-HEIGHT: 150%; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Courier New'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 'Courier New'"&gt;的&lt;/span&gt; &lt;span lang="EN-US" style="LINE-HEIGHT: 150%; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;setBoost&lt;/span&gt; &lt;span style="LINE-HEIGHT: 150%; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Courier New'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 'Courier New'"&gt;方法可以改变当前文档的&lt;/span&gt; &lt;span lang="EN-US" style="LINE-HEIGHT: 150%; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;boost&lt;/span&gt; &lt;span style="LINE-HEIGHT: 150%; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Courier New'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 'Courier New'"&gt;因子。&lt;/span&gt; &lt;span lang="EN-US" style="LINE-HEIGHT: 150%; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt; LINE-HEIGHT: 150%"&gt;&lt;font size="3"&gt;&lt;span style="LINE-HEIGHT: 150%; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Courier New'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 'Courier New'"&gt;下面我们看看：&lt;/span&gt; &lt;span lang="EN-US" style="LINE-HEIGHT: 150%; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt"&gt;&lt;span lang="EN-US" style="FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;&lt;font size="3"&gt;Document doc1 = new Document();&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt; &lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt; mso-char-indent-count: 2.0"&gt;&lt;span lang="EN-US" style="FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;&lt;font size="3"&gt;doc1.add(Field.Text("contents", "word1 word"));&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt; &lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt"&gt;&lt;span lang="EN-US" style="FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;&lt;font size="3"&gt;doc1.add(Field.Keyword("path", "path\\document1.txt"));&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt; &lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt"&gt;&lt;span lang="EN-US" style="FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;&lt;font size="3"&gt;&lt;span style="mso-spacerun: yes"&gt; &lt;/span&gt;doc1.setBoost(&lt;st1:chmetcnv w:st="on" tcsc="0" numbertype="1" negative="False" hasspace="False" sourcevalue="1" unitname="F"&gt;1.0f&lt;/st1:chmetcnv&gt;);&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt; &lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt"&gt;&lt;span lang="EN-US" style="FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;&lt;o:p&gt;&lt;font size="3"&gt; &lt;/font&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt; LINE-HEIGHT: 150%"&gt;&lt;font size="3"&gt;&lt;span lang="EN-US" style="LINE-HEIGHT: 150%; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;&lt;span style="mso-spacerun: yes"&gt; &lt;/span&gt; &lt;/span&gt;&lt;span style="LINE-HEIGHT: 150%; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Courier New'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 'Courier New'"&gt;这样我们就在改变了篇文档的评分了，当&lt;/span&gt; &lt;span lang="EN-US" style="LINE-HEIGHT: 150%; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;boost&lt;/span&gt; &lt;span style="LINE-HEIGHT: 150%; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Courier New'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 'Courier New'"&gt;的值越大它的分值就越高，其出现的位置就越靠前。&lt;/span&gt; &lt;span lang="EN-US" style="LINE-HEIGHT: 150%; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt; LINE-HEIGHT: 150%"&gt;&lt;font size="3"&gt;&lt;span style="LINE-HEIGHT: 150%; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Courier New'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 'Courier New'"&gt;让我们再来看看&lt;/span&gt; &lt;span lang="EN-US" style="LINE-HEIGHT: 150%; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;lucene&lt;/span&gt; &lt;span style="LINE-HEIGHT: 150%; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Courier New'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 'Courier New'"&gt;为我们提供的各种&lt;/span&gt; &lt;span lang="EN-US" style="LINE-HEIGHT: 150%; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;Query&lt;/span&gt; &lt;span style="LINE-HEIGHT: 150%; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Courier New'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 'Courier New'"&gt;吧。&lt;/span&gt; &lt;span lang="EN-US" style="LINE-HEIGHT: 150%; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 78pt; TEXT-INDENT: -36pt; LINE-HEIGHT: 150%; tab-stops: list 78.0pt; mso-list: l2 level1 lfo2"&gt;&lt;span lang="EN-US" style="LINE-HEIGHT: 150%; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 宋体"&gt;&lt;span style="mso-list: Ignore"&gt;&lt;font size="3"&gt;第一、&lt;/font&gt; &lt;span style="FONT: 7pt 'Times New Roman'"&gt;   &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;font size="3"&gt;&lt;span&gt;按词条搜索 － TermQuery&lt;/span&gt; &lt;/font&gt;&lt;span lang="EN-US" style="LINE-HEIGHT: 150%; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;&lt;br /&gt;
&lt;font size="3"&gt;query = new TermQuery(new Term("name","word1"));&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt; &lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 36pt; TEXT-INDENT: 21pt; LINE-HEIGHT: 150%"&gt;&lt;span lang="EN-US" style="LINE-HEIGHT: 150%; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;&lt;font size="3"&gt;hits = searcher.search(query);&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt; &lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 36pt; TEXT-INDENT: 21pt; LINE-HEIGHT: 150%"&gt;&lt;font size="3"&gt;&lt;span style="LINE-HEIGHT: 150%; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Courier New'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 'Courier New'"&gt;这样就可以把&lt;/span&gt; &lt;span lang="EN-US" style="LINE-HEIGHT: 150%; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;field&lt;/span&gt; &lt;span style="LINE-HEIGHT: 150%; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Courier New'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 'Courier New'"&gt;为&lt;/span&gt; &lt;span lang="EN-US" style="LINE-HEIGHT: 150%; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;name&lt;/span&gt; &lt;span style="LINE-HEIGHT: 150%; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Courier New'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 'Courier New'"&gt;的所有包含&lt;/span&gt; &lt;span lang="EN-US" style="LINE-HEIGHT: 150%; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;word1&lt;/span&gt; &lt;span style="LINE-HEIGHT: 150%; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Courier New'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 'Courier New'"&gt;的文档检索出来了。&lt;/span&gt; &lt;span lang="EN-US" style="LINE-HEIGHT: 150%; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 78pt; TEXT-INDENT: -36pt; LINE-HEIGHT: 150%; tab-stops: list 78.0pt; mso-list: l2 level1 lfo2"&gt;&lt;strong&gt;&lt;span lang="EN-US" style="LINE-HEIGHT: 150%; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 宋体"&gt;&lt;span style="mso-list: Ignore"&gt;&lt;font size="3"&gt;第二、&lt;/font&gt; &lt;span style="FONT: 7pt 'Times New Roman'"&gt;  &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;font size="3"&gt;&lt;span&gt;“与或”搜索 － BooleanQuery&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt; &lt;/font&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 57pt; LINE-HEIGHT: 150%"&gt;&lt;font size="3"&gt;&lt;span style="LINE-HEIGHT: 150%; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Courier New'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 'Courier New'"&gt;它实际是一个组合&lt;/span&gt; &lt;span lang="EN-US" style="LINE-HEIGHT: 150%; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;query &lt;/span&gt;&lt;span style="LINE-HEIGHT: 150%; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Courier New'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 'Courier New'"&gt;看看下面的代码：&lt;/span&gt; &lt;span lang="EN-US" style="LINE-HEIGHT: 150%; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 57pt"&gt;&lt;span lang="EN-US" style="FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;&lt;font size="3"&gt;query1 = new TermQuery(new Term("name","word1"));&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt; &lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 57pt"&gt;&lt;span lang="EN-US" style="FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;&lt;font size="3"&gt;query2 = new TermQuery(new Term("name","word2"));&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt; &lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 57pt"&gt;&lt;span lang="EN-US" style="FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;&lt;font size="3"&gt;query = new BooleanQuery();&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt; &lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 57pt"&gt;&lt;span lang="EN-US" style="FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;&lt;font size="3"&gt;query.add(query1, false, false);&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt; &lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 57pt"&gt;&lt;span lang="EN-US" style="FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;&lt;font size="3"&gt;query.add(query2, false, false);&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt; &lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 57pt"&gt;&lt;span lang="EN-US" style="FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;&lt;font size="3"&gt;hits = searcher.search(query);&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt; &lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 57pt; LINE-HEIGHT: 150%"&gt;&lt;font size="3"&gt;&lt;span style="LINE-HEIGHT: 150%; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Courier New'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 'Courier New'"&gt;看看&lt;/span&gt; &lt;span lang="EN-US" style="LINE-HEIGHT: 150%; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;booleanQuery&lt;/span&gt; &lt;span style="LINE-HEIGHT: 150%; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Courier New'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 'Courier New'"&gt;的用法吧：&lt;/span&gt; &lt;span lang="EN-US" style="LINE-HEIGHT: 150%; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 57pt; LINE-HEIGHT: 150%"&gt;&lt;font size="3"&gt;&lt;span lang="EN-US" style="LINE-HEIGHT: 150%; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;true &amp;amp; true : &lt;/span&gt;&lt;span style="LINE-HEIGHT: 150%; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Courier New'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 'Courier New'"&gt;表明当前加入的字句是必须要满足的。相当于逻辑与。&lt;/span&gt; &lt;span lang="EN-US" style="LINE-HEIGHT: 150%; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 57pt; LINE-HEIGHT: 150%"&gt;&lt;font size="3"&gt;&lt;span lang="EN-US" style="LINE-HEIGHT: 150%; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;false &amp;amp; true : &lt;/span&gt;&lt;span style="LINE-HEIGHT: 150%; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Courier New'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 'Courier New'"&gt;表明当前加入的字句是不可一被满足的，&lt;/span&gt; &lt;span style="LINE-HEIGHT: 150%; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;&lt;/span&gt;&lt;span style="LINE-HEIGHT: 150%; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Courier New'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 'Courier New'"&gt;相当于逻辑非。&lt;/span&gt; &lt;span lang="EN-US" style="LINE-HEIGHT: 150%; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 57pt; LINE-HEIGHT: 150%"&gt;&lt;font size="3"&gt;&lt;span lang="EN-US" style="LINE-HEIGHT: 150%; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;false &amp;amp; false : &lt;/span&gt;&lt;span style="LINE-HEIGHT: 150%; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Courier New'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 'Courier New'"&gt;表明当前加入的字句是可选的，相当于逻辑或。&lt;/span&gt; &lt;span lang="EN-US" style="LINE-HEIGHT: 150%; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 57pt; LINE-HEIGHT: 150%"&gt;&lt;font size="3"&gt;&lt;span lang="EN-US" style="LINE-HEIGHT: 150%; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;true &amp;amp; true : &lt;/span&gt;&lt;span style="LINE-HEIGHT: 150%; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Courier New'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 'Courier New'"&gt;错误的情况。&lt;/span&gt; &lt;span lang="EN-US" style="LINE-HEIGHT: 150%; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 57pt; LINE-HEIGHT: 150%"&gt;&lt;font size="3"&gt;&lt;span lang="EN-US" style="LINE-HEIGHT: 150%; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;Lucene&lt;/span&gt; &lt;span style="LINE-HEIGHT: 150%; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Courier New'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 'Courier New'"&gt;可以最多支持连续&lt;/span&gt; &lt;span lang="EN-US" style="LINE-HEIGHT: 150%; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;1024&lt;/span&gt; &lt;span style="LINE-HEIGHT: 150%; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Courier New'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 'Courier New'"&gt;的&lt;/span&gt; &lt;span lang="EN-US" style="LINE-HEIGHT: 150%; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;query&lt;/span&gt; &lt;span style="LINE-HEIGHT: 150%; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Courier New'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 'Courier New'"&gt;的组合。&lt;/span&gt; &lt;span lang="EN-US" style="LINE-HEIGHT: 150%; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 78pt; TEXT-INDENT: -36pt; LINE-HEIGHT: 150%; tab-stops: list 78.0pt; mso-list: l2 level1 lfo2"&gt;&lt;strong&gt;&lt;span lang="EN-US" style="LINE-HEIGHT: 150%; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 宋体"&gt;&lt;span style="mso-list: Ignore"&gt;&lt;font size="3"&gt;第三、&lt;/font&gt; &lt;span style="FONT: 7pt 'Times New Roman'"&gt;  &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;font size="3"&gt;&lt;span&gt;在某一范围内搜索 － RangeQuery&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt; &lt;/font&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 57pt; TEXT-INDENT: 10.5pt; mso-char-indent-count: 1.0; mso-para-margin-left: 5.43gd"&gt;&lt;span lang="EN-US" style="FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;&lt;font size="3"&gt;IndexSearcher searcher = new IndexSearcher("c:\\index");&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt; &lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 57pt"&gt;&lt;span lang="EN-US" style="FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;&lt;font size="3"&gt;&lt;span style="mso-tab-count: 2"&gt;     &lt;/span&gt;Term beginTime = new Term("time","200001");&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt; &lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 57pt"&gt;&lt;span lang="EN-US" style="FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;&lt;font size="3"&gt;&lt;span style="mso-tab-count: 2"&gt;     &lt;/span&gt;Term endTime = new Term("time","200005");&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt; &lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 57pt"&gt;&lt;span lang="EN-US" style="FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;&lt;font size="3"&gt;&lt;span style="mso-tab-count: 2"&gt;     &lt;/span&gt;Hits hits = null;&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt; &lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 57pt"&gt;&lt;span lang="EN-US" style="FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;&lt;font size="3"&gt;&lt;span style="mso-tab-count: 2"&gt;     &lt;/span&gt;RangeQuery query = null;&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt; &lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 57pt"&gt;&lt;span lang="EN-US" style="FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;&lt;font size="3"&gt;&lt;span style="mso-tab-count: 2"&gt;     &lt;/span&gt;query = new RangeQuery(beginTime, endTime, false);&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt; &lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 57pt"&gt;&lt;span lang="EN-US" style="FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;&lt;font size="3"&gt;&lt;span style="mso-tab-count: 2"&gt;     &lt;/span&gt;hits = searcher.search(query);&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt; &lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt; LINE-HEIGHT: 150%; mso-char-indent-count: 2.0"&gt;&lt;font size="3"&gt;&lt;span lang="EN-US" style="LINE-HEIGHT: 150%; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;RangeQuery&lt;/span&gt; &lt;span style="LINE-HEIGHT: 150%; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Courier New'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 'Courier New'"&gt;的构造函数的参数分别代表起始、结束、是否包括边界。这样我们就可以按照要求检索了。&lt;/span&gt; &lt;span lang="EN-US" style="LINE-HEIGHT: 150%; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 78pt; TEXT-INDENT: -36pt; LINE-HEIGHT: 150%; tab-stops: list 78.0pt; mso-list: l2 level1 lfo2"&gt;&lt;strong&gt;&lt;span lang="EN-US" style="LINE-HEIGHT: 150%; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 宋体"&gt;&lt;span style="mso-list: Ignore"&gt;&lt;font size="3"&gt;第四、&lt;/font&gt; &lt;span style="FONT: 7pt 'Times New Roman'"&gt;  &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;font size="3"&gt;&lt;span&gt;使用前缀检索 － PrefixQuery&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt; &lt;/font&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt; LINE-HEIGHT: 150%"&gt;&lt;font size="3"&gt;&lt;span style="LINE-HEIGHT: 150%; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Courier New'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 'Courier New'"&gt;这个检索的机制有点类似于&lt;/span&gt; &lt;span lang="EN-US" style="LINE-HEIGHT: 150%; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;indexOf() &lt;/span&gt;&lt;span style="LINE-HEIGHT: 150%; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Courier New'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 'Courier New'"&gt;从前缀查找。这个常在英文中使用，中文中就很少使用了。代码如下：&lt;/span&gt; &lt;span lang="EN-US" style="LINE-HEIGHT: 150%; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt"&gt;&lt;span lang="EN-US" style="FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;&lt;font size="3"&gt;IndexSearcher searcher = new IndexSearcher("c:\\index");&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt; &lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt"&gt;&lt;span lang="EN-US" style="FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;&lt;font size="3"&gt;&lt;span style="mso-tab-count: 2"&gt;       &lt;/span&gt;Term pre1 = new Term("name", "Da");&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt; &lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt"&gt;&lt;span lang="EN-US" style="FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;&lt;font size="3"&gt;&lt;span style="mso-tab-count: 2"&gt;       &lt;/span&gt;query = new PrefixQuery(pre1);&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt; &lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt"&gt;&lt;span lang="EN-US" style="FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;&lt;font size="3"&gt;&lt;span style="mso-tab-count: 2"&gt;       &lt;/span&gt;hits = searcher.search(query);&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt; &lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 78pt; TEXT-INDENT: -36pt; LINE-HEIGHT: 150%; tab-stops: list 78.0pt; mso-list: l2 level1 lfo2"&gt;&lt;strong&gt;&lt;span lang="EN-US" style="LINE-HEIGHT: 150%; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 宋体"&gt;&lt;span style="mso-list: Ignore"&gt;&lt;font size="3"&gt;第五、&lt;/font&gt; &lt;span style="FONT: 7pt 'Times New Roman'"&gt;  &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;font size="3"&gt;&lt;span&gt;多关键字的搜索 － PhraseQuery&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt; &lt;/font&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 21pt; LINE-HEIGHT: 150%"&gt;&lt;font size="3"&gt;&lt;span style="LINE-HEIGHT: 150%; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Courier New'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 'Courier New'"&gt;可以多个关键字同时查询。使用如下：&lt;/span&gt; &lt;span lang="EN-US" style="LINE-HEIGHT: 150%; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 42pt; TEXT-INDENT: 21pt"&gt;&lt;span lang="EN-US" style="FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;&lt;font size="3"&gt;query = new PhraseQuery();&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt; &lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 21pt"&gt;&lt;span lang="EN-US" style="FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;&lt;font size="3"&gt;&lt;span style="mso-tab-count: 2"&gt;       &lt;/span&gt;query.add(word1);&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt; &lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 21pt"&gt;&lt;span lang="EN-US" style="FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;&lt;font size="3"&gt;&lt;span style="mso-tab-count: 2"&gt;       &lt;/span&gt;query.add(word2);&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt; &lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 21pt"&gt;&lt;span lang="EN-US" style="FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;&lt;font size="3"&gt;&lt;span style="mso-tab-count: 2"&gt;       &lt;/span&gt;query.setSlop(0);&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt; &lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 21pt"&gt;&lt;span lang="EN-US" style="FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;&lt;font size="3"&gt;&lt;span style="mso-tab-count: 2"&gt;       &lt;/span&gt;hits = searcher.search(query);&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt; &lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 21pt"&gt;&lt;font size="3"&gt;&lt;span lang="EN-US" style="FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;&lt;span style="mso-tab-count: 2"&gt;       &lt;/span&gt;printResult(hits, "'david'&lt;/span&gt; &lt;span style="FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Courier New'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 'Courier New'"&gt;与&lt;/span&gt; &lt;span lang="EN-US" style="FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;'mary'&lt;/span&gt; &lt;span style="FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Courier New'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 'Courier New'"&gt;紧紧相隔的&lt;/span&gt; &lt;span lang="EN-US" style="FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;Document");&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt; &lt;/font&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 21pt"&gt;&lt;span lang="EN-US" style="FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;&lt;font size="3"&gt;&lt;span style="mso-tab-count: 2"&gt;       &lt;/span&gt;query.setSlop(2);&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt; &lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 21pt"&gt;&lt;span lang="EN-US" style="FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;&lt;font size="3"&gt;&lt;span style="mso-tab-count: 2"&gt;       &lt;/span&gt;hits = searcher.search(query);&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt; &lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 21pt"&gt;&lt;font size="3"&gt;&lt;span lang="EN-US" style="FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;&lt;span style="mso-tab-count: 2"&gt;       &lt;/span&gt;printResult(hits, "'david'&lt;/span&gt; &lt;span style="FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Courier New'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 'Courier New'"&gt;与&lt;/span&gt; &lt;span lang="EN-US" style="FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;'mary'&lt;/span&gt; &lt;span style="FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Courier New'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 'Courier New'"&gt;中相隔两个词的短语&lt;/span&gt; &lt;span lang="EN-US" style="FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;");&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt; &lt;/font&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: 150%"&gt;&lt;font size="3"&gt;&lt;span lang="EN-US" style="LINE-HEIGHT: 150%; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;&lt;span style="mso-tab-count: 1"&gt;    &lt;/span&gt;&lt;/span&gt;&lt;span style="LINE-HEIGHT: 150%; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Courier New'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 'Courier New'"&gt;这里我们要注意&lt;/span&gt; &lt;span lang="EN-US" style="LINE-HEIGHT: 150%; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;query.setSlop();&lt;/span&gt; &lt;span style="LINE-HEIGHT: 150%; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Courier New'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 'Courier New'"&gt;这个方法的含义。&lt;/span&gt; &lt;span lang="EN-US" style="LINE-HEIGHT: 150%; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 21pt; LINE-HEIGHT: 150%"&gt;&lt;font size="3"&gt;&lt;span lang="EN-US" style="LINE-HEIGHT: 150%; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;query.setSlop(0);&lt;span style="mso-spacerun: yes"&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span style="LINE-HEIGHT: 150%; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Courier New'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 'Courier New'"&gt;紧紧相连&lt;/span&gt; &lt;span style="LINE-HEIGHT: 150%; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;&lt;/span&gt;&lt;span style="LINE-HEIGHT: 150%; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Courier New'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 'Courier New'"&gt;（这个的条件比较苛刻）&lt;/span&gt; &lt;span lang="EN-US" style="LINE-HEIGHT: 150%; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 21pt; LINE-HEIGHT: 150%"&gt;&lt;font size="3"&gt;&lt;span lang="EN-US" style="LINE-HEIGHT: 150%; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;query.setSlop(2);&lt;span style="mso-spacerun: yes"&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span style="LINE-HEIGHT: 150%; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Courier New'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 'Courier New'"&gt;相隔&lt;/span&gt; &lt;span lang="EN-US" style="LINE-HEIGHT: 150%; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 78pt; TEXT-INDENT: -36pt; LINE-HEIGHT: 150%; tab-stops: list 78.0pt; mso-list: l2 level1 lfo2"&gt;&lt;strong&gt;&lt;span lang="EN-US" style="LINE-HEIGHT: 150%; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 宋体"&gt;&lt;span style="mso-list: Ignore"&gt;&lt;font size="3"&gt;第六、&lt;/font&gt; &lt;span style="FONT: 7pt 'Times New Roman'"&gt;  &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;font size="3"&gt;&lt;span&gt;使用短语缀搜索 － PharsePrefixQuery &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 21pt; LINE-HEIGHT: 150%"&gt;&lt;font size="3"&gt;&lt;span style="LINE-HEIGHT: 150%; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Courier New'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 'Courier New'"&gt;使用&lt;/span&gt; &lt;span lang="EN-US" style="LINE-HEIGHT: 150%; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;PharsePrefixQuery&lt;/span&gt; &lt;span style="LINE-HEIGHT: 150%; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Courier New'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 'Courier New'"&gt;可以很容易的实现相关短语的检索功能。&lt;/span&gt; &lt;span lang="EN-US" style="LINE-HEIGHT: 150%; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 21pt; LINE-HEIGHT: 150%"&gt;&lt;font size="3"&gt;&lt;span style="LINE-HEIGHT: 150%; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Courier New'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 'Courier New'"&gt;实例：&lt;/span&gt; &lt;span lang="EN-US" style="LINE-HEIGHT: 150%; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 42pt; TEXT-INDENT: 21pt"&gt;&lt;span lang="EN-US" style="FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;&lt;font size="3"&gt;query = new PhrasePrefixQuery();&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt; &lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 21pt"&gt;&lt;font size="3"&gt;&lt;span lang="EN-US" style="FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;&lt;span style="mso-tab-count: 2"&gt;       &lt;/span&gt;// &lt;/span&gt;&lt;span style="FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Courier New'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 'Courier New'"&gt;加入可能的所有不确定的词&lt;/span&gt; &lt;span lang="EN-US" style="FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 42pt; TEXT-INDENT: 21pt"&gt;&lt;span lang="EN-US" style="FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;&lt;font size="3"&gt;Term word1 = new Term("content", "david");&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt; &lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 21pt"&gt;&lt;span lang="EN-US" style="FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;&lt;font size="3"&gt;&lt;span style="mso-tab-count: 2"&gt;       &lt;/span&gt;Term word2 = new Term("content", "mary");&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt; &lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 21pt"&gt;&lt;span lang="EN-US" style="FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;&lt;font size="3"&gt;&lt;span style="mso-tab-count: 2"&gt;       &lt;/span&gt;Term word3 = new Term("content", "smith");&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt; &lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 21pt"&gt;&lt;span lang="EN-US" style="FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;&lt;font size="3"&gt;&lt;span style="mso-tab-count: 2"&gt;       &lt;/span&gt;Term word4 = new Term("content", "robert");&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt; &lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 21pt"&gt;&lt;span lang="EN-US" style="FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;&lt;font size="3"&gt;&lt;span style="mso-tab-count: 2"&gt;       &lt;/span&gt;query.add(new Term[]{word1, word2});&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt; &lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 21pt"&gt;&lt;font size="3"&gt;&lt;span lang="EN-US" style="FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;&lt;span style="mso-tab-count: 2"&gt;       &lt;/span&gt;// &lt;/span&gt;&lt;span style="FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Courier New'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 'Courier New'"&gt;加入确定的词&lt;/span&gt; &lt;span lang="EN-US" style="FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 21pt"&gt;&lt;span lang="EN-US" style="FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;&lt;font size="3"&gt;&lt;span style="mso-tab-count: 2"&gt;       &lt;/span&gt;query.add(word4);&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt; &lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 21pt"&gt;&lt;span lang="EN-US" style="FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;&lt;font size="3"&gt;&lt;span style="mso-tab-count: 2"&gt;       &lt;/span&gt;query.setSlop(2);&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt; &lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 21pt"&gt;&lt;span lang="EN-US" style="FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;&lt;font size="3"&gt;&lt;span style="mso-tab-count: 2"&gt;       &lt;/span&gt;hits = searcher.search(query);&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt; &lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 21pt"&gt;&lt;font size="3"&gt;&lt;span lang="EN-US" style="FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;&lt;span style="mso-tab-count: 2"&gt;       &lt;/span&gt;printResult(hits, "&lt;/span&gt; &lt;span style="FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Courier New'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 'Courier New'"&gt;存在短语&lt;/span&gt; &lt;span lang="EN-US" style="FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;'david robert'&lt;/span&gt; &lt;span style="FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Courier New'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 'Courier New'"&gt;或&lt;/span&gt; &lt;span lang="EN-US" style="FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;'mary robert'&lt;/span&gt; &lt;span style="FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Courier New'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 'Courier New'"&gt;的文档&lt;/span&gt; &lt;span lang="EN-US" style="FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;");&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt; &lt;/font&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 78pt; TEXT-INDENT: -36pt; LINE-HEIGHT: 150%; tab-stops: list 78.0pt; mso-list: l2 level1 lfo2"&gt;&lt;strong&gt;&lt;span lang="EN-US" style="LINE-HEIGHT: 150%; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 宋体"&gt;&lt;span style="mso-list: Ignore"&gt;&lt;font size="3"&gt;第七、&lt;/font&gt; &lt;span style="FONT: 7pt 'Times New Roman'"&gt;  &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;font size="3"&gt;&lt;span&gt;相近词语的搜索 － fuzzyQuery&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt; &lt;/font&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 21pt; LINE-HEIGHT: 150%"&gt;&lt;font size="3"&gt;&lt;span style="LINE-HEIGHT: 150%; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Courier New'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 'Courier New'"&gt;可以通俗的说它是一种模糊查询。&lt;/span&gt; &lt;span lang="EN-US" style="LINE-HEIGHT: 150%; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 21pt; LINE-HEIGHT: 150%"&gt;&lt;span lang="EN-US" style="LINE-HEIGHT: 150%; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;&lt;o:p&gt;&lt;font size="3"&gt; &lt;/font&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 21pt; LINE-HEIGHT: 150%"&gt;&lt;span lang="EN-US" style="LINE-HEIGHT: 150%; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;&lt;o:p&gt;&lt;font size="3"&gt; &lt;/font&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 21pt; LINE-HEIGHT: 150%"&gt;&lt;font size="3"&gt;&lt;span style="LINE-HEIGHT: 150%; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Courier New'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 'Courier New'"&gt;实例：&lt;/span&gt; &lt;span lang="EN-US" style="LINE-HEIGHT: 150%; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 21pt"&gt;&lt;span lang="EN-US" style="FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;&lt;font size="3"&gt;Term word1 = new Term("content", "david");&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt; &lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 21pt"&gt;&lt;span lang="EN-US" style="FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;&lt;font size="3"&gt;&lt;span style="mso-tab-count: 2"&gt;       &lt;/span&gt;Hits hits = null;&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt; &lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 21pt"&gt;&lt;span lang="EN-US" style="FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;&lt;font size="3"&gt;&lt;span style="mso-tab-count: 2"&gt;       &lt;/span&gt;FuzzyQuery query = null;&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt; &lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 21pt"&gt;&lt;span lang="EN-US" style="FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;&lt;font size="3"&gt;&lt;span style="mso-tab-count: 2"&gt;       &lt;/span&gt;query = new FuzzyQuery(word1);&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt; &lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 21pt"&gt;&lt;span lang="EN-US" style="FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;&lt;font size="3"&gt;&lt;span style="mso-tab-count: 2"&gt;       &lt;/span&gt;hits = searcher.search(query);&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt; &lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 21pt"&gt;&lt;font size="3"&gt;&lt;span lang="EN-US" style="FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;&lt;span style="mso-tab-count: 2"&gt;       &lt;/span&gt;printResult(hits,"&lt;/span&gt; &lt;span style="FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Courier New'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 'Courier New'"&gt;与&lt;/span&gt; &lt;span lang="EN-US" style="FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;'david'&lt;/span&gt; &lt;span style="FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Courier New'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 'Courier New'"&gt;相似的词&lt;/span&gt; &lt;span lang="EN-US" style="FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;");&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt; &lt;/font&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 78pt; TEXT-INDENT: -36pt; LINE-HEIGHT: 150%; tab-stops: list 78.0pt; mso-list: l2 level1 lfo2"&gt;&lt;strong&gt;&lt;span lang="EN-US" style="LINE-HEIGHT: 150%; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 宋体"&gt;&lt;span style="mso-list: Ignore"&gt;&lt;font size="3"&gt;第八、&lt;/font&gt; &lt;span style="FONT: 7pt 'Times New Roman'"&gt;  &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;font size="3"&gt;&lt;span&gt;使用通配符搜索 － WildcardQuery&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt; &lt;/font&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 42pt; LINE-HEIGHT: 150%"&gt;&lt;font size="3"&gt;&lt;span style="LINE-HEIGHT: 150%; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Courier New'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 'Courier New'"&gt;实例：&lt;/span&gt; &lt;span lang="EN-US" style="LINE-HEIGHT: 150%; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 42pt; TEXT-INDENT: 21pt; LINE-HEIGHT: 50%; mso-char-indent-count: 2.0; mso-para-margin-left: 4.0gd"&gt;&lt;span lang="EN-US" style="LINE-HEIGHT: 50%; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;&lt;font size="3"&gt;IndexSearcher searcher = new IndexSearcher("c:\\index");&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt; &lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 41.95pt; LINE-HEIGHT: 50%"&gt;&lt;span lang="EN-US" style="LINE-HEIGHT: 50%; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;&lt;font size="3"&gt;&lt;span style="mso-tab-count: 2"&gt;       &lt;/span&gt;Term word1 = new Term("content", "*ever");&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt; &lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 41.95pt; LINE-HEIGHT: 50%"&gt;&lt;span lang="EN-US" style="LINE-HEIGHT: 50%; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;&lt;font size="3"&gt;&lt;span style="mso-tab-count: 2"&gt;       &lt;/span&gt;Term word2 = new Term("content", "wh?ever");&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt; &lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 41.95pt; LINE-HEIGHT: 50%"&gt;&lt;span lang="EN-US" style="LINE-HEIGHT: 50%; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;&lt;font size="3"&gt;&lt;span style="mso-tab-count: 2"&gt;       &lt;/span&gt;Term word3 = new Term("content", "h??ever");&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt; &lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 41.95pt; LINE-HEIGHT: 50%"&gt;&lt;span lang="EN-US" style="LINE-HEIGHT: 50%; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;&lt;font size="3"&gt;&lt;span style="mso-tab-count: 2"&gt;       &lt;/span&gt;Term word4 = new Term("content", "ever*");&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt; &lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 41.95pt; LINE-HEIGHT: 50%"&gt;&lt;span lang="EN-US" style="LINE-HEIGHT: 50%; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;&lt;font size="3"&gt;&lt;span style="mso-tab-count: 2"&gt;       &lt;/span&gt;WildcardQuery query = null;&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt; &lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 41.95pt; LINE-HEIGHT: 50%"&gt;&lt;span lang="EN-US" style="LINE-HEIGHT: 50%; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;&lt;font size="3"&gt;&lt;span style="mso-tab-count: 2"&gt;       &lt;/span&gt;Hits hits = null;&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt; &lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 41.95pt; LINE-HEIGHT: 50%"&gt;&lt;span lang="EN-US" style="LINE-HEIGHT: 50%; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;&lt;font size="3"&gt;&lt;span style="mso-tab-count: 2"&gt;       &lt;/span&gt;query = new WildcardQuery(word1);&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt; &lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 41.95pt; LINE-HEIGHT: 50%"&gt;&lt;span lang="EN-US" style="LINE-HEIGHT: 50%; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;&lt;font size="3"&gt;&lt;span style="mso-tab-count: 2"&gt;       &lt;/span&gt;hits = searcher.search(query);&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt; &lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 41.95pt; LINE-HEIGHT: 50%"&gt;&lt;span lang="EN-US" style="LINE-HEIGHT: 50%; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;&lt;font size="3"&gt;&lt;span style="mso-tab-count: 2"&gt;       &lt;/span&gt;printResult(hits, "*ever");&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt; &lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 41.95pt; LINE-HEIGHT: 50%"&gt;&lt;span lang="EN-US" style="LINE-HEIGHT: 50%; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;&lt;font size="3"&gt;&lt;span style="mso-tab-count: 2"&gt;       &lt;/span&gt;query = new WildcardQuery(word2);&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt; &lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 41.95pt; LINE-HEIGHT: 50%"&gt;&lt;span lang="EN-US" style="LINE-HEIGHT: 50%; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;&lt;font size="3"&gt;&lt;span style="mso-tab-count: 2"&gt;       &lt;/span&gt;hits = searcher.search(query);&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt; &lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 41.95pt; LINE-HEIGHT: 50%"&gt;&lt;span lang="EN-US" style="LINE-HEIGHT: 50%; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;&lt;font size="3"&gt;&lt;span style="mso-tab-count: 2"&gt;       &lt;/span&gt;printResult(hits, "wh?ever");&lt;span style="mso-tab-count: 2"&gt;      &lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 41.95pt; LINE-HEIGHT: 50%"&gt;&lt;span lang="EN-US" style="LINE-HEIGHT: 50%; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;&lt;font size="3"&gt;&lt;span style="mso-tab-count: 2"&gt;       &lt;/span&gt;query = new WildcardQuery(word3);&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt; &lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 41.95pt; LINE-HEIGHT: 50%"&gt;&lt;span lang="EN-US" style="LINE-HEIGHT: 50%; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;&lt;font size="3"&gt;&lt;span style="mso-tab-count: 2"&gt;       &lt;/span&gt;hits = searcher.search(query);&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt; &lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 41.95pt; LINE-HEIGHT: 50%"&gt;&lt;span lang="EN-US" style="LINE-HEIGHT: 50%; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;&lt;font size="3"&gt;&lt;span style="mso-tab-count: 2"&gt;       &lt;/span&gt;printResult(hits, "h??ever");&lt;span style="mso-tab-count: 2"&gt;      &lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 41.95pt; LINE-HEIGHT: 50%"&gt;&lt;span lang="EN-US" style="LINE-HEIGHT: 50%; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;&lt;font size="3"&gt;&lt;span style="mso-tab-count: 2"&gt;       &lt;/span&gt;query = new WildcardQuery(word4);&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt; &lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 41.95pt; LINE-HEIGHT: 50%"&gt;&lt;span lang="EN-US" style="LINE-HEIGHT: 50%; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;&lt;font size="3"&gt;&lt;span style="mso-tab-count: 2"&gt;       &lt;/span&gt;hits = searcher.search(query);&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt; &lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 41.95pt; LINE-HEIGHT: 50%"&gt;&lt;span lang="EN-US" style="LINE-HEIGHT: 50%; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;&lt;font size="3"&gt;&lt;span style="mso-tab-count: 2"&gt;       &lt;/span&gt;printResult(hits, "ever*");&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt; &lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt; LINE-HEIGHT: 150%"&gt;&lt;font size="3"&gt;&lt;span lang="EN-US" style="LINE-HEIGHT: 150%; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;&lt;span style="mso-tab-count: 1"&gt;    &lt;/span&gt;&lt;/span&gt;&lt;span style="LINE-HEIGHT: 150%; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Courier New'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 'Courier New'"&gt;由上可以看出通配符？代便&lt;/span&gt; &lt;span lang="EN-US" style="LINE-HEIGHT: 150%; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;1&lt;/span&gt; &lt;span style="LINE-HEIGHT: 150%; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Courier New'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 'Courier New'"&gt;个字符，&lt;/span&gt; &lt;span lang="EN-US" style="LINE-HEIGHT: 150%; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;*&lt;/span&gt; &lt;span style="LINE-HEIGHT: 150%; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Courier New'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 'Courier New'"&gt;代表&lt;/span&gt; &lt;span lang="EN-US" style="LINE-HEIGHT: 150%; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;0&lt;/span&gt; &lt;span style="LINE-HEIGHT: 150%; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Courier New'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 'Courier New'"&gt;到多个字符。&lt;/span&gt; &lt;span lang="EN-US" style="LINE-HEIGHT: 150%; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt; LINE-HEIGHT: 150%"&gt;&lt;font size="3"&gt;&lt;span lang="EN-US" style="LINE-HEIGHT: 150%; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;Lucene&lt;/span&gt; &lt;span style="LINE-HEIGHT: 150%; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Courier New'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 'Courier New'"&gt;现在支持以上八中的搜索方式，我们可以根据需要选择适合自己的搜索方式。当然上面提供的一些可能对英文还是比较有效，中文就不可取了，所以我们开始想想百度，我们只在一个输入框中搜索结果。有了这个疑问我们揭开下一章的讨论吧！&lt;/span&gt; &lt;span lang="EN-US" style="LINE-HEIGHT: 150%; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p class="MsoBodyTextIndent" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt; mso-char-indent-count: 0"&gt;&lt;span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Courier New'; mso-hansi-font-family: 'Times New Roman'"&gt;&lt;font size="3"&gt;查询字符串的解析：这个就是我们经常在一个输入框中输入我们要检索的文字，交给搜索引擎去帮我们分词。&lt;/font&gt; &lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 21pt; LINE-HEIGHT: 150%"&gt;&lt;font size="3"&gt;&lt;span lang="EN-US" style="LINE-HEIGHT: 150%; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;QueryParser&lt;/span&gt; &lt;span style="LINE-HEIGHT: 150%; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Courier New'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 'Courier New'"&gt;类就是对查询字符串的解析类。&lt;/span&gt; &lt;span lang="EN-US" style="LINE-HEIGHT: 150%; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 21pt; LINE-HEIGHT: 150%"&gt;&lt;font size="3"&gt;&lt;span style="LINE-HEIGHT: 150%; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Courier New'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 'Courier New'"&gt;看看它的用法：&lt;/span&gt; &lt;span lang="EN-US" style="LINE-HEIGHT: 150%; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 21pt; LINE-HEIGHT: 150%"&gt;&lt;span lang="EN-US" style="LINE-HEIGHT: 150%; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;&lt;o:p&gt;&lt;font size="3"&gt; &lt;/font&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 21pt; LINE-HEIGHT: 150%"&gt;&lt;span lang="EN-US" style="LINE-HEIGHT: 150%; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;&lt;font size="3"&gt;query = QueryParser.parse(key1, "name", new StandardAnalyzer());&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt; &lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 21pt; LINE-HEIGHT: 150%"&gt;&lt;span lang="EN-US" style="LINE-HEIGHT: 150%; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;&lt;font size="3"&gt;hits = searcher.search(query);&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt; &lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 21pt; LINE-HEIGHT: 150%"&gt;&lt;font size="3"&gt;&lt;span style="LINE-HEIGHT: 150%; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Courier New'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 'Courier New'"&gt;它直接返回一个&lt;/span&gt; &lt;span lang="EN-US" style="LINE-HEIGHT: 150%; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;Query &lt;/span&gt;&lt;span style="LINE-HEIGHT: 150%; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Courier New'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 'Courier New'"&gt;对象。需要传入的参数分别是：&lt;/span&gt; &lt;span lang="EN-US" style="LINE-HEIGHT: 150%; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 21pt; LINE-HEIGHT: 150%"&gt;&lt;font size="3"&gt;&lt;span style="LINE-HEIGHT: 150%; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Courier New'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 'Courier New'"&gt;用户需要查询的字符串、需要检索的对应字段名称、采用的分词类。&lt;/span&gt; &lt;span lang="EN-US" style="LINE-HEIGHT: 150%; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 21pt; LINE-HEIGHT: 150%"&gt;&lt;span lang="EN-US" style="LINE-HEIGHT: 150%; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;&lt;font size="3"&gt;Analyzer analyzer = new CJKAnalyzer();&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt; &lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 21pt; LINE-HEIGHT: 150%"&gt;&lt;span lang="EN-US" style="LINE-HEIGHT: 150%; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;&lt;font size="3"&gt;String[] fields = {"filename", "content"};&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt; &lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 21pt; LINE-HEIGHT: 150%"&gt;&lt;span lang="EN-US" style="LINE-HEIGHT: 150%; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;&lt;font size="3"&gt;Query query = MultiFieldQueryParser.parse(searchword, fields, analyzer);&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt; &lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 21pt; LINE-HEIGHT: 150%"&gt;&lt;span lang="EN-US" style="LINE-HEIGHT: 150%; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;&lt;font size="3"&gt;Hits hits = searcher.search(query);&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt; &lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 21pt; LINE-HEIGHT: 150%"&gt;&lt;font size="3"&gt;&lt;span lang="EN-US" style="LINE-HEIGHT: 150%; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;QueryParser&lt;/span&gt; &lt;span style="LINE-HEIGHT: 150%; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Courier New'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 'Courier New'"&gt;的“与”&lt;/span&gt; &lt;span style="LINE-HEIGHT: 150%; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;&lt;/span&gt;&lt;span style="LINE-HEIGHT: 150%; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Courier New'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 'Courier New'"&gt;和&lt;/span&gt; &lt;span style="LINE-HEIGHT: 150%; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;&lt;/span&gt;&lt;span style="LINE-HEIGHT: 150%; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Courier New'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 'Courier New'"&gt;“或”：&lt;/span&gt; &lt;span lang="EN-US" style="LINE-HEIGHT: 150%; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: 150%"&gt;&lt;font size="3"&gt;&lt;span lang="EN-US" style="LINE-HEIGHT: 150%; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;QueryParser&lt;/span&gt; &lt;span style="LINE-HEIGHT: 150%; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Courier New'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 'Courier New'"&gt;之间默认是或，我们想改变为与的话加入以下代码：&lt;/span&gt; &lt;span lang="EN-US" style="LINE-HEIGHT: 150%; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: 150%"&gt;&lt;span lang="EN-US" style="LINE-HEIGHT: 150%; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;&lt;font size="3"&gt;QueryParser.setOperator(QueryParser.DEFAULT_OPERATOR_AND);&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt; &lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: 150%"&gt;&lt;font size="3"&gt;&lt;span style="LINE-HEIGHT: 150%; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Courier New'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 'Courier New'"&gt;就可以了。&lt;/span&gt; &lt;span lang="EN-US" style="LINE-HEIGHT: 150%; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;
&lt;h1 style="MARGIN: 17pt 0cm 16.5pt 21.25pt; TEXT-INDENT: -21.25pt; tab-stops: list 21.25pt; mso-list: l1 level1 lfo1"&gt;&lt;span lang="EN-US" style="FONT-SIZE: 12pt; LINE-HEIGHT: 240%; mso-bidi-font-size: 22.0pt; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;span style="mso-list: Ignore"&gt;5&lt;span style="FONT: 7pt 'Times New Roman'"&gt;          &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="FONT-SIZE: 12pt; LINE-HEIGHT: 240%; FONT-FAMILY: 宋体; mso-bidi-font-size: 22.0pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"&gt;高级搜索技巧&lt;/span&gt; &lt;span lang="EN-US" style="FONT-SIZE: 12pt; LINE-HEIGHT: 240%; mso-bidi-font-size: 22.0pt"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/h1&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt; LINE-HEIGHT: 150%; mso-char-indent-count: 2.0"&gt;&lt;font size="3"&gt;&lt;span style="LINE-HEIGHT: 150%; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Courier New'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 'Courier New'"&gt;前面我们已经介绍了一般情况下&lt;/span&gt; &lt;span lang="EN-US" style="LINE-HEIGHT: 150%; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;lucene&lt;/span&gt; &lt;span style="LINE-HEIGHT: 150%; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Courier New'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 'Courier New'"&gt;的使用技巧，现在我们探讨一下高级搜索的技巧吧！&lt;/span&gt; &lt;span lang="EN-US" style="LINE-HEIGHT: 150%; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 39pt; TEXT-INDENT: -18pt; LINE-HEIGHT: 150%; tab-stops: list 39.0pt; mso-list: l0 level1 lfo3"&gt;&lt;span lang="EN-US" style="LINE-HEIGHT: 150%; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'; mso-fareast-font-family: 'Courier New'"&gt;&lt;span style="mso-list: Ignore"&gt;&lt;font size="3"&gt;1、&lt;/font&gt; &lt;span style="FONT: 7pt 'Times New Roman'"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;font size="3"&gt;&lt;span style="LINE-HEIGHT: 150%; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Courier New'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 'Courier New'"&gt;对搜索结果进行排序：&lt;/span&gt; &lt;span lang="EN-US" style="LINE-HEIGHT: 150%; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 60pt; TEXT-INDENT: -18pt; LINE-HEIGHT: 150%; tab-stops: list 60.0pt; mso-list: l0 level2 lfo3"&gt;&lt;span lang="EN-US" style="LINE-HEIGHT: 150%; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'; mso-fareast-font-family: 'Courier New'"&gt;&lt;span style="mso-list: Ignore"&gt;&lt;font size="3"&gt;1）&lt;/font&gt; &lt;span style="FONT: 7pt 'Times New Roman'"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;font size="3"&gt;&lt;span style="LINE-HEIGHT: 150%; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Courier New'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 'Courier New'"&gt;使用&lt;/span&gt; &lt;span lang="EN-US" style="LINE-HEIGHT: 150%; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;sort&lt;/span&gt; &lt;span style="LINE-HEIGHT: 150%; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Courier New'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 'Courier New'"&gt;类排序：&lt;/span&gt; &lt;span lang="EN-US" style="LINE-HEIGHT: 150%; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 41.95pt"&gt;&lt;span lang="EN-US" style="FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;&lt;font size="3"&gt;&lt;span style="mso-spacerun: yes"&gt;    &lt;/span&gt;Sort sort = new Sort();&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt; &lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 41.95pt"&gt;&lt;span lang="EN-US" style="FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;&lt;font size="3"&gt;&lt;span style="mso-tab-count: 1"&gt;    &lt;/span&gt;&lt;span style="mso-spacerun: yes"&gt;    &lt;/span&gt;hits = searcher.search(query,sort);&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt; &lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 31.5pt; LINE-HEIGHT: 150%; mso-char-indent-count: 3.0"&gt;&lt;font size="3"&gt;&lt;span style="LINE-HEIGHT: 150%; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Courier New'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 'Courier New'"&gt;这种方式是使用默认的&lt;/span&gt; &lt;span lang="EN-US" style="LINE-HEIGHT: 150%; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;sort&lt;/span&gt; &lt;span style="LINE-HEIGHT: 150%; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Courier New'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 'Courier New'"&gt;排序方式进行排序。默认的&lt;/span&gt; &lt;span lang="EN-US" style="LINE-HEIGHT: 150%; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;sort&lt;/span&gt; &lt;span style="LINE-HEIGHT: 150%; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Courier New'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 'Courier New'"&gt;排序是按照相关度进行排序。即通过&lt;/span&gt; &lt;span lang="EN-US" style="LINE-HEIGHT: 150%; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;luence&lt;/span&gt; &lt;span style="LINE-HEIGHT: 150%; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Courier New'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 'Courier New'"&gt;的评分机制进行排序。&lt;/span&gt; &lt;span lang="EN-US" style="LINE-HEIGHT: 150%; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 31.5pt; LINE-HEIGHT: 150%; mso-char-indent-count: 3.0"&gt;&lt;font size="3"&gt;&lt;span lang="EN-US" style="LINE-HEIGHT: 150%; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;2) &lt;/span&gt;&lt;span style="LINE-HEIGHT: 150%; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Courier New'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 'Courier New'"&gt;对某一字段进行排序&lt;/span&gt; &lt;span lang="EN-US" style="LINE-HEIGHT: 150%; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 41.95pt"&gt;&lt;font size="3"&gt;&lt;span lang="EN-US" style="FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;&lt;span style="mso-tab-count: 2"&gt;       &lt;/span&gt;Sort sort = new Sort(&lt;/span&gt; &lt;span lang="EN-US" style="mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Courier New'; mso-bidi-font-family: 'Courier New'"&gt;“&lt;/span&gt; &lt;span lang="EN-US" style="FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;content&lt;/span&gt; &lt;span lang="EN-US" style="mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Courier New'; mso-bidi-font-family: 'Courier New'"&gt;”&lt;/span&gt; &lt;span lang="EN-US" style="FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt; &lt;/font&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 31.5pt; LINE-HEIGHT: 150%; mso-char-indent-count: 3.0"&gt;&lt;span lang="EN-US" style="LINE-HEIGHT: 150%; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;&lt;font size="3"&gt;&lt;span style="mso-tab-count: 1"&gt;  &lt;/span&gt;&lt;span style="mso-spacerun: yes"&gt;    &lt;/span&gt;hits = searcher.search(query,sort);&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt; &lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 31.5pt; LINE-HEIGHT: 150%"&gt;&lt;font size="3"&gt;&lt;span lang="EN-US" style="LINE-HEIGHT: 150%; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;3) &lt;/span&gt;&lt;span style="LINE-HEIGHT: 150%; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Courier New'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 'Courier New'"&gt;对多个字段进行排序&lt;/span&gt; &lt;span lang="EN-US" style="LINE-HEIGHT: 150%; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 31.5pt; LINE-HEIGHT: 150%"&gt;&lt;span lang="EN-US" style="LINE-HEIGHT: 150%; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;&lt;font size="3"&gt;Sort sort = new Sort(new SortField[]{new SortField("title"),new SortField("contents")});&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt; &lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 31.5pt; LINE-HEIGHT: 150%"&gt;&lt;span lang="EN-US" style="LINE-HEIGHT: 150%; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;&lt;font size="3"&gt;hits = searcher.search(query,sort);&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt; &lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 39pt; TEXT-INDENT: -18pt; LINE-HEIGHT: 150%; tab-stops: list 39.0pt; mso-list: l0 level1 lfo3"&gt;&lt;span lang="EN-US" style="LINE-HEIGHT: 150%; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'; mso-fareast-font-family: 'Courier New'"&gt;&lt;span style="mso-list: Ignore"&gt;&lt;font size="3"&gt;2、&lt;/font&gt; &lt;span style="FONT: 7pt 'Times New Roman'"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;font size="3"&gt;&lt;span style="LINE-HEIGHT: 150%; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Courier New'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 'Courier New'"&gt;多域搜索和多索引搜索：&lt;/span&gt; &lt;span lang="EN-US" style="LINE-HEIGHT: 150%; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt; LINE-HEIGHT: 150%; mso-char-indent-count: 2.0"&gt;&lt;font size="3"&gt;&lt;span style="LINE-HEIGHT: 150%; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Courier New'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 'Courier New'"&gt;在使用&lt;/span&gt; &lt;span lang="EN-US" style="LINE-HEIGHT: 150%; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;luecene&lt;/span&gt; &lt;span style="LINE-HEIGHT: 150%; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Courier New'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 'Courier New'"&gt;时，如果查询的只是某些&lt;/span&gt; &lt;span lang="EN-US" style="LINE-HEIGHT: 150%; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;terms&lt;/span&gt; &lt;span style="LINE-HEIGHT: 150%; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Courier New'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 'Courier New'"&gt;，而不关心这些词条到时来自那个字段中时。这时可以使用&lt;/span&gt; &lt;span lang="EN-US" style="LINE-HEIGHT: 150%; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;MultiFieldQueryParser&lt;/span&gt; &lt;span style="LINE-HEIGHT: 150%; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Courier New'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 'Courier New'"&gt;类。这个用于用户搜索含有某个关键字是否存在在字段中，他们之间的关系使用&lt;/span&gt; &lt;span lang="EN-US" style="LINE-HEIGHT: 150%; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;OR&lt;/span&gt; &lt;span style="LINE-HEIGHT: 150%; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Courier New'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 'Courier New'"&gt;连接。即不管存在在哪一个字段都会显示显示出来。&lt;/span&gt; &lt;span lang="EN-US" style="LINE-HEIGHT: 150%; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt; LINE-HEIGHT: 150%; mso-char-indent-count: 2.0"&gt;&lt;font size="3"&gt;&lt;span style="LINE-HEIGHT: 150%; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Courier New'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 'Courier New'"&gt;使用&lt;/span&gt; &lt;span lang="EN-US" style="LINE-HEIGHT: 150%; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;MultiSearcher&lt;/span&gt; &lt;span style="LINE-HEIGHT: 150%; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Courier New'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 'Courier New'"&gt;可以满足同时多索引的搜索需求。&lt;/span&gt; &lt;span lang="EN-US" style="LINE-HEIGHT: 150%; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 41.95pt"&gt;&lt;span lang="EN-US" style="FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;&lt;font size="3"&gt;Searcher[] searchers = new Searcher[2]; &lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 41.95pt"&gt;&lt;span lang="EN-US" style="FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;&lt;font size="3"&gt;searchers[0] = new IndexSearcher(indexStoreB);&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt; &lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 41.95pt"&gt;&lt;span lang="EN-US" style="FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;&lt;font size="3"&gt;searchers[1] = new IndexSearcher(indexStoreA);&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt; &lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 41.95pt"&gt;&lt;font size="3"&gt;&lt;span lang="EN-US" style="FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;&lt;span style="mso-spacerun: yes"&gt;        &lt;/span&gt;// &lt;/span&gt;&lt;span style="FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Courier New'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 'Courier New'"&gt;创建一个多索引检索器&lt;/span&gt; &lt;span lang="EN-US" style="FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 41.95pt"&gt;&lt;span lang="EN-US" style="FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;&lt;font size="3"&gt;Searcher mSearcher = new MultiSearcher(searchers);&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt; &lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 39pt; TEXT-INDENT: -18pt; LINE-HEIGHT: 150%; tab-stops: list 39.0pt; mso-list: l0 level1 lfo3"&gt;&lt;span lang="EN-US" style="LINE-HEIGHT: 150%; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'; mso-fareast-font-family: 'Courier New'"&gt;&lt;span style="mso-list: Ignore"&gt;&lt;font size="3"&gt;3、&lt;/font&gt; &lt;span style="FONT: 7pt 'Times New Roman'"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;font size="3"&gt;&lt;span lang="EN-US" style="LINE-HEIGHT: 150%; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;&lt;span style="mso-spacerun: yes"&gt;   &lt;/span&gt; &lt;/span&gt;&lt;span style="LINE-HEIGHT: 150%; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Courier New'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 'Courier New'"&gt;对搜索结果进行过滤：&lt;/span&gt; &lt;span lang="EN-US" style="LINE-HEIGHT: 150%; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 81pt; TEXT-INDENT: -18pt; LINE-HEIGHT: 150%; tab-stops: list 81.0pt; mso-list: l0 level3 lfo3"&gt;&lt;span lang="EN-US" style="LINE-HEIGHT: 150%; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'; mso-fareast-font-family: 'Courier New'"&gt;&lt;span style="mso-list: Ignore"&gt;&lt;font size="3"&gt;1)&lt;/font&gt; &lt;span style="FONT: 7pt 'Times New Roman'"&gt;    &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;font size="3"&gt;&lt;span style="LINE-HEIGHT: 150%; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Courier New'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 'Courier New'"&gt;对时间进行过滤&lt;/span&gt; &lt;span lang="EN-US" style="LINE-HEIGHT: 150%; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: 150%"&gt;&lt;font size="3"&gt;&lt;span lang="EN-US" style="LINE-HEIGHT: 150%; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;&lt;span style="mso-spacerun: yes"&gt; &lt;/span&gt; &lt;span style="mso-spacerun: yes"&gt;       &lt;/span&gt;&lt;/span&gt;&lt;span style="LINE-HEIGHT: 150%; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Courier New'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 'Courier New'"&gt;通常情况下我们对搜索结果要进行过滤显示，即只显示过滤后的结果。&lt;/span&gt; &lt;span lang="EN-US" style="LINE-HEIGHT: 150%; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: 150%"&gt;&lt;span lang="EN-US" style="LINE-HEIGHT: 150%; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;&lt;font size="3"&gt;doc.add(Field.Keyword("datefield", DateField.timeToString(now - 1000)));&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt; &lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: 150%"&gt;&lt;span lang="EN-US" style="LINE-HEIGHT: 150%; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;&lt;font size="3"&gt;DateFilter df1 = DateFilter.Before("datefield", now);&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt; &lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 81pt; TEXT-INDENT: -18pt; LINE-HEIGHT: 150%; tab-stops: list 81.0pt; mso-list: l0 level3 lfo3"&gt;&lt;span lang="EN-US" style="LINE-HEIGHT: 150%; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'; mso-fareast-font-family: 'Courier New'"&gt;&lt;span style="mso-list: Ignore"&gt;&lt;font size="3"&gt;2)&lt;/font&gt; &lt;span style="FONT: 7pt 'Times New Roman'"&gt;    &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;font size="3"&gt;&lt;span lang="EN-US" style="LINE-HEIGHT: 150%; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;&lt;span style="mso-tab-count: 2"&gt;    &lt;/span&gt;&lt;/span&gt;&lt;span style="LINE-HEIGHT: 150%; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Courier New'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 'Courier New'"&gt;查询过滤器&lt;/span&gt; &lt;span lang="EN-US" style="LINE-HEIGHT: 150%; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 36.75pt"&gt;&lt;font size="3"&gt;&lt;span style="FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Courier New'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 'Courier New'"&gt;通过查询过滤器可以过滤一部分的信息。&lt;/span&gt; &lt;span lang="EN-US" style="FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 41.95pt"&gt;&lt;span lang="EN-US" style="FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;&lt;font size="3"&gt;Filter filter = new Filter() &lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 41.95pt"&gt;&lt;span lang="EN-US" style="FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;&lt;font size="3"&gt;&lt;span style="mso-tab-count: 1"&gt;    &lt;/span&gt;&lt;span style="mso-spacerun: yes"&gt;    &lt;/span&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt; &lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 41.95pt"&gt;&lt;span lang="EN-US" style="FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;&lt;font size="3"&gt;&lt;span style="mso-tab-count: 1"&gt;    &lt;/span&gt;&lt;span style="mso-spacerun: yes"&gt;   &lt;/span&gt;public BitSet bits (IndexReader reader) throws IOException &lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 41.95pt"&gt;&lt;span lang="EN-US" style="FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;&lt;font size="3"&gt;&lt;span style="mso-tab-count: 1"&gt;    &lt;/span&gt;&lt;span style="mso-spacerun: yes"&gt;      &lt;/span&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt; &lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 41.95pt"&gt;&lt;span lang="EN-US" style="FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;&lt;font size="3"&gt;&lt;span style="mso-tab-count: 1"&gt;    &lt;/span&gt;&lt;span style="mso-spacerun: yes"&gt;        &lt;/span&gt;BitSet bitset = new BitSet(5);&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt; &lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 41.95pt"&gt;&lt;span lang="EN-US" style="FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;&lt;font size="3"&gt;&lt;span style="mso-tab-count: 1"&gt;    &lt;/span&gt;&lt;span style="mso-spacerun: yes"&gt;        &lt;/span&gt;bitset.set (1);&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt; &lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 41.95pt"&gt;&lt;span lang="EN-US" style="FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;&lt;font size="3"&gt;&lt;span style="mso-tab-count: 1"&gt;    &lt;/span&gt;&lt;span style="mso-spacerun: yes"&gt;        &lt;/span&gt;bitset.set (3);&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt; &lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 41.95pt"&gt;&lt;span lang="EN-US" style="FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;&lt;font size="3"&gt;&lt;span style="mso-tab-count: 1"&gt;    &lt;/span&gt;&lt;span style="mso-spacerun: yes"&gt;        &lt;/span&gt;return bitset;&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt; &lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 41.95pt"&gt;&lt;span lang="EN-US" style="FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;&lt;font size="3"&gt;&lt;span style="mso-tab-count: 1"&gt;    &lt;/span&gt;&lt;span style="mso-spacerun: yes"&gt;      &lt;/span&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt; &lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 41.95pt"&gt;&lt;span lang="EN-US" style="FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;&lt;font size="3"&gt;&lt;span style="mso-tab-count: 1"&gt;    &lt;/span&gt;&lt;span style="mso-spacerun: yes"&gt;    &lt;/span&gt;}; &lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 41.95pt"&gt;&lt;font size="3"&gt;&lt;span lang="EN-US" style="FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;&lt;span style="mso-tab-count: 1"&gt;    &lt;/span&gt;&lt;span style="mso-spacerun: yes"&gt;    &lt;/span&gt;//&lt;/span&gt; &lt;span style="FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Courier New'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 'Courier New'"&gt;生成带有过滤器的查询对象&lt;/span&gt; &lt;span lang="EN-US" style="FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 41.95pt"&gt;&lt;span lang="EN-US" style="FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;&lt;font size="3"&gt;&lt;span style="mso-tab-count: 1"&gt;    &lt;/span&gt;&lt;span style="mso-spacerun: yes"&gt;    &lt;/span&gt;Query filteredquery = new FilteredQuery (query, filter);&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt; &lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 41.95pt"&gt;&lt;font size="3"&gt;&lt;span lang="EN-US" style="FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;&lt;span style="mso-tab-count: 2"&gt;       &lt;/span&gt;//&lt;/span&gt; &lt;span style="FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Courier New'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 'Courier New'"&gt;返回检索结果&lt;/span&gt; &lt;span lang="EN-US" style="FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 41.95pt"&gt;&lt;span lang="EN-US" style="FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;&lt;font size="3"&gt;&lt;span style="mso-tab-count: 1"&gt;    &lt;/span&gt;&lt;span style="mso-spacerun: yes"&gt;    &lt;/span&gt;Hits hits = searcher.search (filteredquery);&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt; &lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 41.95pt"&gt;&lt;span lang="EN-US" style="FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;&lt;o:p&gt;&lt;font size="3"&gt; &lt;/font&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 41.95pt"&gt;&lt;font size="3"&gt;&lt;span style="FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Courier New'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 'Courier New'"&gt;这样我们就可以使用自己定义的过滤方式去过滤信息了。&lt;/span&gt; &lt;span lang="EN-US" style="FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 81pt; TEXT-INDENT: -18pt; LINE-HEIGHT: 150%; tab-stops: list 81.0pt; mso-list: l0 level3 lfo3"&gt;&lt;span lang="EN-US" style="LINE-HEIGHT: 150%; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'; mso-fareast-font-family: 'Courier New'"&gt;&lt;span style="mso-list: Ignore"&gt;&lt;font size="3"&gt;3)&lt;/font&gt; &lt;span style="FONT: 7pt 'Times New Roman'"&gt;    &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;font size="3"&gt;&lt;span style="LINE-HEIGHT: 150%; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Courier New'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 'Courier New'"&gt;带缓存的过滤器：&lt;/span&gt; &lt;span lang="EN-US" style="LINE-HEIGHT: 150%; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 63pt; LINE-HEIGHT: 150%"&gt;&lt;font size="3"&gt;&lt;span style="LINE-HEIGHT: 150%; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Courier New'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 'Courier New'"&gt;使用待缓存的过滤器我们可以重用过滤功能，如下：&lt;/span&gt; &lt;span lang="EN-US" style="LINE-HEIGHT: 150%; FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 41.95pt"&gt;&lt;span lang="EN-US" style="FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;&lt;font size="3"&gt;MockFilter filter = new MockFilter();&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt; &lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"&gt;&lt;span lang="EN-US" style="FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;&lt;font size="3"&gt;&lt;span style="mso-spacerun: yes"&gt; &lt;/span&gt;CachingWrapperFilter cacher = new CachingWrapperFilter(filter);&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt; &lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 41.95pt"&gt;&lt;span lang="EN-US" style="FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;&lt;font size="3"&gt;&lt;span style="mso-tab-count: 1"&gt;    &lt;/span&gt;&lt;span style="mso-spacerun: yes"&gt;    &lt;/span&gt;cacher.bits(reader);&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt; &lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt; mso-char-indent-count: 2.0"&gt;&lt;font size="3"&gt;&lt;span style="FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Courier New'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 'Courier New'"&gt;以上介绍完了现在学习&lt;/span&gt; &lt;span lang="EN-US" style="FONT-FAMILY: 'Courier New'; mso-bidi-font-size: 10.5pt; mso-hansi-font-family: 'Times New Roman'"&gt;luence&lt;/span&gt; &lt;span style="FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Courier New'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-family: 'Courier New'"&gt;，没有太详细的介绍它的实现，因为它对于我们来说是一个工具，既然是工具我们就要会用就可以了。&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;img src="http://blog.hidotnet.com/flashccie/aggbug/113.aspx" width="1" height="1" /&gt;</description><dc:creator>轻舞flash</dc:creator></item><item><title>测试使用新的缓存机制</title><link>http://blog.hidotnet.com/venjiang/archive/2007/03/10/111.aspx</link><pubDate>Fri, 09 Mar 2007 17:04:18 GMT</pubDate><guid isPermaLink="true">http://blog.hidotnet.com/venjiang/archive/2007/03/10/111.aspx</guid><wfw:comment>http://blog.hidotnet.com/venjiang/comments/111.aspx</wfw:comment><wfw:commentRss>http://blog.hidotnet.com/venjiang/comments/commentRss/111.aspx</wfw:commentRss><comments>http://blog.hidotnet.com/venjiang/archive/2007/03/10/111.aspx#comment</comments><slash:comments>590</slash:comments><trackback:ping>http://blog.hidotnet.com/venjiang/services/trackbacks/111.aspx</trackback:ping><source url="http://blog.hidotnet.com/venjiang/rss.aspx">测试使用新的缓存机制</source><description>测试使用新的缓存机制,前台是否即时更新.&lt;br /&gt;
临时解决访问速度慢问题.&lt;br /&gt;
前台不能即时呈现时请点击右侧刷新按钮,&lt;br /&gt;
如果发现更多问题,请即时联系我.&lt;img src="http://blog.hidotnet.com/venjiang/aggbug/111.aspx" width="1" height="1" /&gt;</description><dc:creator>venjiang</dc:creator></item><item><title>关于方法重写的。。。大家说说</title><link>http://blog.hidotnet.com/flashccie/archive/2007/03/09/104.aspx</link><pubDate>Fri, 09 Mar 2007 10:22:01 GMT</pubDate><guid isPermaLink="true">http://blog.hidotnet.com/flashccie/archive/2007/03/09/104.aspx</guid><wfw:comment>http://blog.hidotnet.com/flashccie/comments/104.aspx</wfw:comment><wfw:commentRss>http://blog.hidotnet.com/flashccie/comments/commentRss/104.aspx</wfw:commentRss><comments>http://blog.hidotnet.com/flashccie/archive/2007/03/09/104.aspx#comment</comments><slash:comments>53</slash:comments><trackback:ping>http://blog.hidotnet.com/flashccie/services/trackbacks/104.aspx</trackback:ping><source url="http://blog.hidotnet.com/flashccie/rss.aspx">关于方法重写的。。。大家说说</source><description>&lt;p&gt;namespace flaseccie&lt;br /&gt;
{&lt;br /&gt;
using System;&lt;br /&gt;
using System.Collections;&lt;br /&gt;
public &lt;font color="#ee1d24"&gt;&lt;wbr&gt;&lt;/wbr&gt;inte&lt;/font&gt;&lt;wbr&gt;&lt;/wbr&gt;&lt;font color="#ee1d24"&gt;&lt;wbr&gt;&lt;/wbr&gt;r&lt;/font&gt;&lt;wbr&gt;&lt;/wbr&gt;&lt;font color="#ee1d24"&gt;&lt;wbr&gt;&lt;/wbr&gt;face&lt;/font&gt;&lt;wbr&gt;&lt;/wbr&gt; ICommon&lt;br /&gt;
{&lt;br /&gt;
void DoIt();&lt;br /&gt;
}&lt;br /&gt;
public class Base:ICommon&lt;br /&gt;
{&lt;br /&gt;
void ICommon.DoIt(){Console.WriteLine("1");}&lt;br /&gt;
public virtual void DoIt(){Console.WriteLine("2");}&lt;br /&gt;
}&lt;br /&gt;
public class Derived:Base,ICommon&lt;br /&gt;
{&lt;br /&gt;
void ICommon.DoIt(){Console.WriteLine("3");}&lt;br /&gt;
public new virtual void DoIt()&lt;br /&gt;
{&lt;br /&gt;
Console.WriteLine("4");&lt;br /&gt;
}&lt;br /&gt;
}&lt;br /&gt;
public class ReallyDerived:Derived&lt;br /&gt;
{&lt;br /&gt;
public override void DoIt()&lt;br /&gt;
{&lt;br /&gt;
Console.WriteLine("5");&lt;br /&gt;
}&lt;br /&gt;
}&lt;br /&gt;
public class MyClass&lt;br /&gt;
{&lt;br /&gt;
public static void Main()&lt;br /&gt;
{&lt;br /&gt;
ReallyDerived reDervied=new ReallyDerived();&lt;br /&gt;
Derived derived=reDervied;&lt;br /&gt;
Base base =reDervied;&lt;br /&gt;
ICommon icommon =reDervied;&lt;br /&gt;
reDervied.DoIt();&lt;br /&gt;
derived.DoIt();&lt;br /&gt;
base .DoIt();&lt;br /&gt;
icommon .DoIt();&lt;br /&gt;
Console.Read();&lt;br /&gt;
} &lt;br /&gt;
}&lt;br /&gt;
}&lt;br /&gt;
把你觉得的输入的结果写出来看看。然后解说一下。。。呵。。。&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt;看完上面的后。再看下下面的。&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt;namespace flaseccie&lt;br /&gt;
{&lt;br /&gt;
using System;&lt;br /&gt;
using System.Collections;&lt;br /&gt;
public inte&lt;wbr&gt;&lt;/wbr&gt;&lt;font color="#ee1d24"&gt;&lt;wbr&gt;&lt;/wbr&gt;r&lt;/font&gt;&lt;wbr&gt;&lt;/wbr&gt;&lt;font color="#ee1d24"&gt;&lt;wbr&gt;&lt;/wbr&gt;face&lt;/font&gt;&lt;wbr&gt;&lt;/wbr&gt; ICommon&lt;br /&gt;
{&lt;br /&gt;
void DoIt();&lt;br /&gt;
}&lt;br /&gt;
public class Base:ICommon&lt;br /&gt;
{&lt;br /&gt;
void ICommon.DoIt(){Console.WriteLine("1");}&lt;br /&gt;
public virtual void DoIt(){Console.WriteLine("2");}&lt;br /&gt;
}&lt;br /&gt;
public class Derived:Base,ICommon&lt;br /&gt;
{&lt;br /&gt;
void ICommon.DoIt(){Console.WriteLine("3");}&lt;br /&gt;
public &lt;font color="#ee1d24"&gt;&lt;wbr&gt;&lt;/wbr&gt;override &lt;/font&gt;&lt;wbr&gt;&lt;/wbr&gt;void DoIt()&lt;br /&gt;
{&lt;br /&gt;
Console.WriteLine("4");&lt;br /&gt;
}&lt;br /&gt;
}&lt;br /&gt;
public class ReallyDerived:Derived&lt;br /&gt;
{&lt;br /&gt;
public override void DoIt()&lt;br /&gt;
{&lt;br /&gt;
Console.WriteLine("5");&lt;br /&gt;
}&lt;br /&gt;
}&lt;br /&gt;
public class MyClass&lt;br /&gt;
{&lt;br /&gt;
public static void Main()&lt;br /&gt;
{&lt;br /&gt;
ReallyDerived reDervied=new ReallyDerived();&lt;br /&gt;
Derived derived=reDervied;&lt;br /&gt;
Base base =reDervied;&lt;br /&gt;
ICommon icommon =reDervied;&lt;br /&gt;
reDervied.DoIt();&lt;br /&gt;
derived.DoIt();&lt;br /&gt;
base .DoIt();&lt;br /&gt;
icommon .DoIt();&lt;br /&gt;
Console.Read();&lt;br /&gt;
} &lt;br /&gt;
}&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
这样子又是多少呢？ &lt;/p&gt;&lt;img src="http://blog.hidotnet.com/flashccie/aggbug/104.aspx" width="1" height="1" /&gt;</description><dc:creator>Blog Author</dc:creator></item><item><title>基于灰度颜色个数的视频截图选取[转]</title><link>http://blog.hidotnet.com/jacky/archive/2007/02/04/97.aspx</link><pubDate>Sun, 04 Feb 2007 13:04:53 GMT</pubDate><guid isPermaLink="true">http://blog.hidotnet.com/jacky/archive/2007/02/04/97.aspx</guid><wfw:comment>http://blog.hidotnet.com/jacky/comments/97.aspx</wfw:comment><wfw:commentRss>http://blog.hidotnet.com/jacky/comments/commentRss/97.aspx</wfw:commentRss><comments>http://blog.hidotnet.com/jacky/archive/2007/02/04/97.aspx#comment</comments><slash:comments>114</slash:comments><trackback:ping>http://blog.hidotnet.com/jacky/services/trackbacks/97.aspx</trackback:ping><source url="http://blog.hidotnet.com/jacky/rss.aspx">基于灰度颜色个数的视频截图选取[转]</source><description>&lt;div style="text-indent: 21pt;"&gt;前几天在帮师兄做一个视频截图的模块，采用了directshow的接口来访问视频文 件。开发工具使用的是visual c++ 2005 express 和visual c# 2005 express，vc++写的一个封装了对directshow的接口访问的dll，然后在c#做的界面程序里面调用。&lt;/div&gt;
&lt;div&gt; &lt;/div&gt;
&lt;div&gt;&lt;span style="font-size: 16pt;"&gt;1. &lt;/span&gt;&lt;span style="font-size: 16pt;"&gt;关于&lt;/span&gt;&lt;span style="font-size: 16pt;"&gt;directshow&lt;/span&gt;&lt;span style="font-size: 16pt;"&gt;的视频截图方法&lt;/span&gt;&lt;/div&gt;
&lt;div style="text-indent: 21pt;"&gt;directshow以前是属于directx内的一个部分，后来microsoft 把directshow归入了platform sdk内了。关于directshow如何来截取视频文件内部的图片picture，在网上可以搜索到很多。在msdn关于directshow sdk的教程里面，也有专门举例如何使用directshow的imediadet接口来截视频流内的截图的:&lt;/div&gt;
&lt;div style="text-indent: 21pt;"&gt;http://msdn.microsoft.com/library/default.asp?url=/library/en-us/wcedshow/html/_dxce_dshow_directshow.asp&lt;/div&gt;
&lt;div style="text-indent: 21pt;"&gt;使用directshow来访问视频文件就可以避免去了解各种视频压缩文件格式，编码格式等等很繁琐甚至是困难的问题了。&lt;/div&gt;
&lt;div&gt; &lt;/div&gt;
&lt;div&gt;&lt;span style="font-size: 16pt;"&gt;2. &lt;/span&gt;&lt;span style="font-size: 16pt;"&gt;选择哪个时间点来截视频图片呢&lt;/span&gt;&lt;span style="font-size: 16pt;"&gt;?&lt;/span&gt;&lt;/div&gt;
&lt;div style="text-indent: 21pt;"&gt;但是，选取哪个时间点的视频图片呢？我们在看windows浏览器里面视频文件的微缩 图都是视频文件的第一帧，但是如果第一帧是全黑或者全白呢？那么我们看到的这个截下来的视频图片并没有任何意义。甚至比如电影开头的演员字幕等帧，对于观 众来说都没有多大的意义。一部电影的截图选择，如果按照精彩镜头来分，那么需要计算机去理解该电影的内容，这个工作在现阶段来说，涉及到计算机视觉，数字 图像，人工智能等前沿技术，不大可能做得出来。&lt;/div&gt;
&lt;div style="text-indent: 21pt;"&gt;考虑到全黑，全白，以及片头字幕等没有意义的帧图片的特点，就是颜色个数相对较少，相对单调。于是，可以通过一个颜色个数的阈值，来对所有帧图片进行筛选。将颜色个数小于阈值的剔除。一般使用颜色丰富的图片，肯定帧图片更加丰富。&lt;/div&gt;
&lt;div style="text-indent: 21pt;"&gt;但是，在24位真彩色中，r,g,b都是0-255,任何一个分量相差了一点点，视觉 上来说，差异并不大，但是对于计算机来说，就完全是两个颜色了，这种过于精确的颜色统计，对于人来说并不见得好。于是，我选择使用颜色的灰度值来代替真彩 色rgb的统计。关于rgb到灰度值的公式，选择的是最简单的：&lt;/div&gt;
&lt;div style="text-indent: 21pt;"&gt;gray(灰度) = (r + g + b) / 3&lt;/div&gt;
&lt;div style="text-indent: 21pt;"&gt; &lt;/div&gt;
&lt;div&gt;&lt;span style="font-size: 16pt;"&gt;3. &lt;/span&gt;&lt;span style="font-size: 16pt;"&gt;实现一个测试算法的&lt;/span&gt;&lt;span style="font-size: 16pt;"&gt;demo&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;       &lt;/span&gt;好了，大体的截图选取算法思想就是这样了。下面我就一步一步来把这个算法实现的demo，通过visual c++ 2005 express和visual c# 2005 express开发工具做出来。&lt;/div&gt;
&lt;div&gt;&lt;span&gt;       &lt;/span&gt;首先是做封装directshow的win32 dll。&lt;/div&gt;
&lt;div&gt;&lt;span&gt;       microsoft&lt;/span&gt;那里下载的visual c++ 2005 express并没有附带platform sdk，windows的最新platform sdk可以直接从microsoft的msdn那里下载到(我选择的是windows 2003 server rc2)。按照msdn上所述的，搭建起visual c++ 2005 express内的platform sdk设置后就可以开发win32的程序了。&lt;/div&gt;
&lt;div&gt;&lt;span&gt;       &lt;/span&gt;下面是封装的dll的程序代码：&lt;/div&gt;
&lt;div align="left"&gt;
&lt;div align="left"&gt;&lt;span style="font-size: 9pt;"&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style="border: 0.5pt solid windowtext; padding: 4px 5.4pt; background: rgb(230, 230, 230) none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; width: 95%;"&gt;
&lt;div&gt;&lt;img align="top" src="http://www.z6688.com/uploadfile/200611/200611715583218.gif" alt="" /&gt;&lt;span style="color: rgb(0, 128, 0);"&gt;//&lt;/span&gt;&lt;span style="color: rgb(0, 128, 0);"&gt; moviegrabberdll.cpp : 定义 dll 应用程序的入口点。&lt;br /&gt;
&lt;img align="top" src="http://www.z6688.com/uploadfile/200611/200611715583218.gif" alt="" /&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 128, 0);"&gt;//&lt;br /&gt;
&lt;img align="top" src="http://www.z6688.com/uploadfile/200611/200611715583218.gif" alt="" /&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; &lt;br /&gt;
&lt;img align="top" src="http://www.z6688.com/uploadfile/200611/200611715583218.gif" alt="" /&gt;#include &lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;"&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;stdafx.h&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;"&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&lt;br /&gt;
&lt;img align="top" src="http://www.z6688.com/uploadfile/200611/200611715583218.gif" alt="" /&gt;#include &lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;"&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;moviegrabberdll.h&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;"&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&lt;br /&gt;
&lt;img align="top" src="http://www.z6688.com/uploadfile/200611/200611715583218.gif" alt="" /&gt;bool apientry dllmain( handle hmodule, &lt;br /&gt;
&lt;img align="top" src="http://www.z6688.com/uploadfile/200611/200611715583218.gif" alt="" /&gt;                       dword ul_reason_for_call, &lt;br /&gt;
&lt;img align="top" src="http://www.z6688.com/uploadfile/200611/200611715583218.gif" alt="" /&gt;                       lpvoid lpreserved&lt;br /&gt;
&lt;img align="top" src="http://www.z6688.com/uploadfile/200611/200611715583218.gif" alt="" /&gt;                        )&lt;br /&gt;
&lt;img align="top" src="http://www.z6688.com/uploadfile/200611/200611715584605.gif" alt="" onclick="this.style.display=none; document.getelementbyid(_253_454_open_text).style.display=none; document.getelementbyid(_253_454_closed_image).style.display=inline; document.getelementbyid(_253_454_closed_text).style.display=inline;" id="_253_454_open_image" /&gt;&lt;img align="top" src="http://www.z6688.com/uploadfile/200611/200611715584688.gif" alt="" onclick="this.style.display=none; document.getelementbyid(_253_454_closed_text).style.display=none; document.getelementbyid(_253_454_open_image).style.display=inline; document.getelementbyid(_253_454_open_text).style.display=inline;" style="display: none;" id="_253_454_closed_image" /&gt;&lt;/span&gt;&lt;span style="border: 1px solid rgb(128, 128, 128); display: none; background-color: rgb(255, 255, 255);" id="_253_454_closed_text"&gt;...&lt;/span&gt;&lt;span id="_253_454_open_text"&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;{&lt;br /&gt;
&lt;img align="top" src="http://www.z6688.com/uploadfile/200611/200611715585437.gif" alt="" /&gt;     &lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;switch&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; (ul_reason_for_call)&lt;br /&gt;
&lt;img align="top" src="http://www.z6688.com/uploadfile/200611/200611715585494.gif" alt="" onclick="this.style.display=none; document.getelementbyid(_293_435_open_text).style.display=none; document.getelementbyid(_293_435_closed_image).style.display=inline; document.getelementbyid(_293_435_closed_text).style.display=inline;" id="_293_435_open_image" /&gt;&lt;img align="top" src="http://www.z6688.com/uploadfile/200611/200611715585674.gif" alt="" onclick="this.style.display=none; document.getelementbyid(_293_435_closed_text).style.display=none; document.getelementbyid(_293_435_open_image).style.display=inline; document.getelementbyid(_293_435_open_text).style.display=inline;" style="display: none;" id="_293_435_closed_image" /&gt;     &lt;/span&gt;&lt;span style="border: 1px solid rgb(128, 128, 128); display: none; background-color: rgb(255, 255, 255);" id="_293_435_closed_text"&gt;...&lt;/span&gt;&lt;span id="_293_435_open_text"&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;{&lt;br /&gt;
&lt;img align="top" src="http://www.z6688.com/uploadfile/200611/200611715585437.gif" alt="" /&gt;     &lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;case&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; dll_process_attach: &lt;br /&gt;
&lt;img align="top" src="http://www.z6688.com/uploadfile/200611/200611715585437.gif" alt="" /&gt;     &lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;case&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; dll_thread_attach:&lt;br /&gt;
&lt;img align="top" src="http://www.z6688.com/uploadfile/200611/200611715585437.gif" alt="" /&gt;     &lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;case&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; dll_thread_detach:&lt;br /&gt;
&lt;img align="top" src="http://www.z6688.com/uploadfile/200611/200611715585437.gif" alt="" /&gt;     &lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;case&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; dll_process_detach:&lt;br /&gt;
&lt;img align="top" src="http://www.z6688.com/uploadfile/200611/200611715585437.gif" alt="" /&gt;         &lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;break&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;;&lt;br /&gt;
&lt;img align="top" src="http://www.z6688.com/uploadfile/200611/200611715585241.gif" alt="" /&gt;     }&lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&lt;br /&gt;
&lt;img align="top" src="http://www.z6688.com/uploadfile/200611/200611715585437.gif" alt="" /&gt;    &lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;return&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; true;&lt;br /&gt;
&lt;img align="top" src="http://www.z6688.com/uploadfile/200611/200611715585700.gif" alt="" /&gt;}&lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&lt;br /&gt;
&lt;img align="top" src="http://www.z6688.com/uploadfile/200611/200611715583218.gif" alt="" /&gt; &lt;br /&gt;
&lt;img align="top" src="http://www.z6688.com/uploadfile/200611/200611715584605.gif" alt="" onclick="this.style.display=none; document.getelementbyid(_458_506_open_text).style.display=none; document.getelementbyid(_458_506_closed_image).style.display=inline; document.getelementbyid(_458_506_closed_text).style.display=inline;" id="_458_506_open_image" /&gt;&lt;img align="top" src="http://www.z6688.com/uploadfile/200611/200611715584688.gif" alt="" onclick="this.style.display=none; document.getelementbyid(_458_506_closed_text).style.display=none; document.getelementbyid(_458_506_open_image).style.display=inline; document.getelementbyid(_458_506_open_text).style.display=inline;" style="display: none;" id="_458_506_closed_image" /&gt;&lt;/span&gt;&lt;span style="border: 1px solid rgb(128, 128, 128); display: none; background-color: rgb(255, 255, 255);" id="_458_506_closed_text"&gt;/**/&lt;/span&gt;&lt;span id="_458_506_open_text"&gt;&lt;span style="color: rgb(0, 128, 0);"&gt;/*&lt;/span&gt;&lt;span style="color: rgb(0, 128, 0);"&gt;*&lt;br /&gt;
&lt;img align="top" src="http://www.z6688.com/uploadfile/200611/200611715585437.gif" alt="" /&gt;* 抓取视频的截图&lt;br /&gt;
&lt;img align="top" src="http://www.z6688.com/uploadfile/200611/200611715585437.gif" alt="" /&gt;* @param apath 视频文件的位置&lt;br /&gt;
&lt;img align="top" src="http://www.z6688.com/uploadfile/200611/200611715585437.gif" alt="" /&gt;* @return&lt;br /&gt;
&lt;img align="top" src="http://www.z6688.com/uploadfile/200611/200611715585700.gif" alt="" /&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 128, 0);"&gt;*/&lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&lt;br /&gt;
&lt;img align="top" src="http://www.z6688.com/uploadfile/200611/200611715583218.gif" alt="" /&gt;moviegrabberdll_api handle grabmovieframe(lpctstr apath,&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;int&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; graycolorcountthreshold)&lt;br /&gt;
&lt;img align="top" src="http://www.z6688.com/uploadfile/200611/200611715584605.gif" alt="" onclick="this.style.display=none; document.getelementbyid(_593_2378_open_text).style.display=none; document.getelementbyid(_593_2378_closed_image).style.display=inline; document.getelementbyid(_593_2378_closed_text).style.display=inline;" id="_593_2378_open_image" /&gt;&lt;img align="top" src="http://www.z6688.com/uploadfile/200611/200611715584688.gif" alt="" onclick="this.style.display=none; document.getelementbyid(_593_2378_closed_text).style.display=none; document.getelementbyid(_593_2378_open_image).style.display=inline; document.getelementbyid(_593_2378_open_text).style.display=inline;" style="display: none;" id="_593_2378_closed_image" /&gt;&lt;/span&gt;&lt;span style="border: 1px solid rgb(128, 128, 128); display: none; background-color: rgb(255, 255, 255);" id="_593_2378_closed_text"&gt;...&lt;/span&gt;&lt;span id="_593_2378_open_text"&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;{&lt;br /&gt;
&lt;img align="top" src="http://www.z6688.com/uploadfile/200611/200611715585437.gif" alt="" /&gt;     hresult hr;&lt;br /&gt;
&lt;img align="top" src="http://www.z6688.com/uploadfile/200611/200611715585437.gif" alt="" /&gt;     &lt;/span&gt;&lt;span style="color: rgb(0, 128, 0);"&gt;//&lt;/span&gt;&lt;span style="color: rgb(0, 128, 0);"&gt; 定义imediadet接口实例&lt;/span&gt;&lt;span style="color: rgb(0, 128, 0);"&gt;&lt;br /&gt;
&lt;img align="top" src="http://www.z6688.com/uploadfile/200611/200611715585437.gif" alt="" /&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;     ccomptr&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; imediadet &lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; pdet;&lt;br /&gt;
&lt;img align="top" src="http://www.z6688.com/uploadfile/200611/200611715585437.gif" alt="" /&gt;     hr &lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;=&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; pdet.cocreateinstance(__uuidof(mediadet));&lt;br /&gt;
&lt;img align="top" src="http://www.z6688.com/uploadfile/200611/200611715585437.gif" alt="" /&gt;     &lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;if&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; (failed(hr))&lt;br /&gt;
&lt;img align="top" src="http://www.z6688.com/uploadfile/200611/200611715585437.gif" alt="" /&gt;         &lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;return&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; null;&lt;br /&gt;
&lt;img align="top" src="http://www.z6688.com/uploadfile/200611/200611715585437.gif" alt="" /&gt; &lt;br /&gt;
&lt;img align="top" src="http://www.z6688.com/uploadfile/200611/200611715585437.gif" alt="" /&gt;     &lt;/span&gt;&lt;span style="color: rgb(0, 128, 0);"&gt;//&lt;/span&gt;&lt;span style="color: rgb(0, 128, 0);"&gt; 将影片文件名转换成bstr类型&lt;/span&gt;&lt;span style="color: rgb(0, 128, 0);"&gt;&lt;br /&gt;
&lt;img align="top" src="http://www.z6688.com/uploadfile/200611/200611715585437.gif" alt="" /&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;     ccombstr openbstr(apath);&lt;br /&gt;
&lt;img align="top" src="http://www.z6688.com/uploadfile/200611/200611715585437.gif" alt="" /&gt;     &lt;/span&gt;&lt;span style="color: rgb(0, 128, 0);"&gt;//&lt;/span&gt;&lt;span style="color: rgb(0, 128, 0);"&gt; 设置imediadet接口的文件关联&lt;/span&gt;&lt;span style="color: rgb(0, 128, 0);"&gt;&lt;br /&gt;
&lt;img align="top" src="http://www.z6688.com/uploadfile/200611/200611715585437.gif" alt="" /&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;     hr &lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;=&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; pdet&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;-&amp;gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;put_filename(openbstr);&lt;br /&gt;
&lt;img align="top" src="http://www.z6688.com/uploadfile/200611/200611715585437.gif" alt="" /&gt;     &lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;if&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; (failed(hr))&lt;br /&gt;
&lt;img align="top" src="http://www.z6688.com/uploadfile/200611/200611715585437.gif" alt="" /&gt;         &lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;return&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; null;&lt;br /&gt;
&lt;img align="top" src="http://www.z6688.com/uploadfile/200611/200611715585437.gif" alt="" /&gt; &lt;br /&gt;
&lt;img align="top" src="http://www.z6688.com/uploadfile/200611/200611715585437.gif" alt="" /&gt;     &lt;/span&gt;&lt;span style="color: rgb(0, 128, 0);"&gt;//&lt;/span&gt;&lt;span style="color: rgb(0, 128, 0);"&gt; 从影片中检索视频流和音频流&lt;/span&gt;&lt;span style="color: rgb(0, 128, 0);"&gt;&lt;br /&gt;
&lt;img align="top" src="http://www.z6688.com/uploadfile/200611/200611715585437.gif" alt="" /&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;     &lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;long&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; lstreams;&lt;br /&gt;
&lt;img align="top" src="http://www.z6688.com/uploadfile/200611/200611715585437.gif" alt="" /&gt;     hr &lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;=&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; pdet&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;-&amp;gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;get_outputstreams(&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&amp;amp;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;lstreams);&lt;br /&gt;
&lt;img align="top" src="http://www.z6688.com/uploadfile/200611/200611715585437.gif" alt="" /&gt;     &lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;if&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; (failed(hr))&lt;br /&gt;
&lt;img align="top" src="http://www.z6688.com/uploadfile/200611/200611715585437.gif" alt="" /&gt;         &lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;return&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; null;&lt;br /&gt;
&lt;img align="top" src="http://www.z6688.com/uploadfile/200611/200611715585437.gif" alt="" /&gt; &lt;br /&gt;
&lt;img align="top" src="http://www.z6688.com/uploadfile/200611/200611715585437.gif" alt="" /&gt;     &lt;/span&gt;&lt;span style="color: rgb(0, 128, 0);"&gt;//&lt;/span&gt;&lt;span style="color: rgb(0, 128, 0);"&gt; 取出影片的视频流，因为帧的信息是保存在视频流中的&lt;/span&gt;&lt;span style="color: rgb(0, 128, 0);"&gt;&lt;br /&gt;
&lt;img align="top" src="http://www.z6688.com/uploadfile/200611/200611715585437.gif" alt="" /&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;     &lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;bool&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; bfound &lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;=&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;false&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;;&lt;br /&gt;
&lt;img align="top" src="http://www.z6688.com/uploadfile/200611/200611715585437.gif" alt="" /&gt;     &lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;for&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; (&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;int&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; i&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;=&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;0&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;; i&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;lstreams; i&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;++&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;)&lt;br /&gt;
&lt;img align="top" src="http://www.z6688.com/uploadfile/200611/200611715585494.gif" alt="" onclick="this.style.display=none; document.getelementbyid(_1166_1485_open_text).style.display=none; document.getelementbyid(_1166_1485_closed_image).style.display=inline; document.getelementbyid(_1166_1485_closed_text).style.display=inline;" id="_1166_1485_open_image" /&gt;&lt;img align="top" src="http://www.z6688.com/uploadfile/200611/200611715585674.gif" alt="" onclick="this.style.display=none; document.getelementbyid(_1166_1485_closed_text).style.display=none; document.getelementbyid(_1166_1485_open_image).style.display=inline; document.getelementbyid(_1166_1485_open_text).style.display=inline;" style="display: none;" id="_1166_1485_closed_image" /&gt;     &lt;/span&gt;&lt;span style="border: 1px solid rgb(128, 128, 128); display: none; background-color: rgb(255, 255, 255);" id="_1166_1485_closed_text"&gt;...&lt;/span&gt;&lt;span id="_1166_1485_open_text"&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;{&lt;br /&gt;
&lt;img align="top" src="http://www.z6688.com/uploadfile/200611/200611715585437.gif" alt="" /&gt;         guid major_type;&lt;br /&gt;
&lt;img align="top" src="http://www.z6688.com/uploadfile/200611/200611715585437.gif" alt="" /&gt;         hr &lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;=&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; pdet&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;-&amp;gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;put_currentstream(i);&lt;br /&gt;
&lt;img align="top" src="http://www.z6688.com/uploadfile/200611/200611715585437.gif" alt="" /&gt;         &lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;if&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; (succeeded(hr))&lt;br /&gt;
&lt;img align="top" src="http://www.z6688.com/uploadfile/200611/200611715585437.gif" alt="" /&gt;              hr &lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;=&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; pdet&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;-&amp;gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;get_streamtype(&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&amp;amp;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;major_type);&lt;br /&gt;
&lt;img align="top" src="http://www.z6688.com/uploadfile/200611/200611715585437.gif" alt="" /&gt;         &lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;if&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; (failed(hr))&lt;br /&gt;
&lt;img align="top" src="http://www.z6688.com/uploadfile/200611/200611715585437.gif" alt="" /&gt;              &lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;break&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;;&lt;br /&gt;
&lt;img align="top" src="http://www.z6688.com/uploadfile/200611/200611715585437.gif" alt="" /&gt;         &lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;if&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; (major_type &lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;==&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; mediatype_video)&lt;br /&gt;
&lt;img align="top" src="http://www.z6688.com/uploadfile/200611/200611715585494.gif" alt="" onclick="this.style.display=none; document.getelementbyid(_1417_1478_open_text).style.display=none; document.getelementbyid(_1417_1478_closed_image).style.display=inline; document.getelementbyid(_1417_1478_closed_text).style.display=inline;" id="_1417_1478_open_image" /&gt;&lt;img align="top" src="http://www.z6688.com/uploadfile/200611/200611715585674.gif" alt="" onclick="this.style.display=none; document.getelementbyid(_1417_1478_closed_text).style.display=none; document.getelementbyid(_1417_1478_open_image).style.display=inline; document.getelementbyid(_1417_1478_open_text).style.display=inline;" style="display: none;" id="_1417_1478_closed_image" /&gt;         &lt;/span&gt;&lt;span style="border: 1px solid rgb(128, 128, 128); display: none; background-color: rgb(255, 255, 255);" id="_1417_1478_closed_text"&gt;...&lt;/span&gt;&lt;span id="_1417_1478_open_text"&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;{&lt;br /&gt;
&lt;img align="top" src="http://www.z6688.com/uploadfile/200611/200611715585437.gif" alt="" /&gt;              bfound &lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;=&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;true&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;;&lt;br /&gt;
&lt;img align="top" src="http://www.z6688.com/uploadfile/200611/200611715585437.gif" alt="" /&gt;              &lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;break&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;;&lt;br /&gt;
&lt;img align="top" src="http://www.z6688.com/uploadfile/200611/200611715585241.gif" alt="" /&gt;         }&lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&lt;br /&gt;
&lt;img align="top" src="http://www.z6688.com/uploadfile/200611/200611715585241.gif" alt="" /&gt;     }&lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&lt;br /&gt;
&lt;img align="top" src="http://www.z6688.com/uploadfile/200611/200611715585437.gif" alt="" /&gt;     &lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;if&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; (&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;!&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;bfound)&lt;br /&gt;
&lt;img align="top" src="http://www.z6688.com/uploadfile/200611/200611715585437.gif" alt="" /&gt;         &lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;return&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; null;&lt;br /&gt;
&lt;img align="top" src="http://www.z6688.com/uploadfile/200611/200611715585437.gif" alt="" /&gt; &lt;br /&gt;
&lt;img align="top" src="http://www.z6688.com/uploadfile/200611/200611715585437.gif" alt="" /&gt;     &lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;long&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; width &lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;=&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;0&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;, height &lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;=&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;0&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;; &lt;/span&gt;&lt;span style="color: rgb(0, 128, 0);"&gt;//&lt;/span&gt;&lt;span style="color: rgb(0, 128, 0);"&gt; 存储位图的宽和高（单位：象素）&lt;/span&gt;&lt;span style="color: rgb(0, 128, 0);"&gt;&lt;br /&gt;
&lt;img align="top" src="http://www.z6688.com/uploadfile/200611/200611715585437.gif" alt="" /&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;     am_media_type mt;&lt;br /&gt;
&lt;img align="top" src="http://www.z6688.com/uploadfile/200611/200611715585437.gif" alt="" /&gt;     hr &lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;=&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; pdet&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;-&amp;gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;get_streammediatype(&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&amp;amp;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;mt);&lt;br /&gt;
&lt;img align="top" src="http://www.z6688.com/uploadfile/200611/200611715585437.gif" alt="" /&gt;     &lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;if&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; (succeeded(hr))&lt;br /&gt;
&lt;img align="top" src="http://www.z6688.com/uploadfile/200611/200611715585494.gif" alt="" onclick="this.style.display=none; document.getelementbyid(_1675_2243_open_text).style.display=none; document.getelementbyid(_1675_2243_closed_image).style.display=inline; document.getelementbyid(_1675_2243_closed_text).style.display=inline;" id="_1675_2243_open_image" /&gt;&lt;img align="top" src="http://www.z6688.com/uploadfile/200611/200611715585674.gif" alt="" onclick="this.style.display=none; document.getelementbyid(_1675_2243_closed_text).style.display=none; document.getelementbyid(_1675_2243_open_image).style.display=inline; document.getelementbyid(_1675_2243_open_text).style.display=inline;" style="display: none;" id="_1675_2243_closed_image" /&gt;     &lt;/span&gt;&lt;span style="border: 1px solid rgb(128, 128, 128); display: none; background-color: rgb(255, 255, 255);" id="_1675_2243_closed_text"&gt;...&lt;/span&gt;&lt;span id="_1675_2243_open_text"&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;{&lt;br /&gt;
&lt;img align="top" src="http://www.z6688.com/uploadfile/200611/200611715585437.gif" alt="" /&gt;         &lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;if&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; ((mt.formattype &lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;==&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; format_videoinfo) &lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&amp;amp;&amp;amp;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; &lt;br /&gt;
&lt;img align="top" src="http://www.z6688.com/uploadfile/200611/200611715585437.gif" alt="" /&gt;              (mt.cbformat &lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&amp;gt;=&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;sizeof&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;(videoinfoheader)))&lt;br /&gt;
&lt;img align="top" src="http://www.z6688.com/uploadfile/200611/200611715585494.gif" alt="" onclick="this.style.display=none; document.getelementbyid(_1795_2128_open_text).style.display=none; document.getelementbyid(_1795_2128_closed_image).style.display=inline; document.getelementbyid(_1795_2128_closed_text).style.display=inline;" id="_1795_2128_open_image" /&gt;&lt;img align="top" src="http://www.z6688.com/uploadfile/200611/200611715585674.gif" alt="" onclick="this.style.display=none; document.getelementbyid(_1795_2128_closed_text).style.display=none; document.getelementbyid(_1795_2128_open_image).style.display=inline; document.getelementbyid(_1795_2128_open_text).style.display=inline;" style="display: none;" id="_1795_2128_closed_image" /&gt;         &lt;/span&gt;&lt;span style="border: 1px solid rgb(128, 128, 128); display: none; background-color: rgb(255, 255, 255);" id="_1795_2128_closed_text"&gt;...&lt;/span&gt;&lt;span id="_1795_2128_open_text"&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;{&lt;br /&gt;
&lt;img align="top" src="http://www.z6688.com/uploadfile/200611/200611715585437.gif" alt="" /&gt;              &lt;/span&gt;&lt;span style="color: rgb(0, 128, 0);"&gt;//&lt;/span&gt;&lt;span style="color: rgb(0, 128, 0);"&gt; 得到videoinfoheader结构指针，videoinfoheader结构包含一些与视频&lt;br /&gt;
&lt;img align="top" src="http://www.z6688.com/uploadfile/200611/200611715585437.gif" alt="" /&gt;              &lt;/span&gt;&lt;span style="color: rgb(0, 128, 0);"&gt;//&lt;/span&gt;&lt;span style="color: rgb(0, 128, 0);"&gt; 有关的信息，其中含有bitmapinforheader结构&lt;/span&gt;&lt;span style="color: rgb(0, 128, 0);"&gt;&lt;br /&gt;
&lt;img align="top" src="http://www.z6688.com/uploadfile/200611/200611715585437.gif" alt="" /&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;              videoinfoheader &lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;*&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;pvih &lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;=&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; (videoinfoheader&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;*&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;)(mt.pbformat);&lt;br /&gt;
&lt;img align="top" src="http://www.z6688.com/uploadfile/200611/200611715585437.gif" alt="" /&gt;              width &lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;=&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; pvih&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;-&amp;gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;bmiheader.biwidth;&lt;br /&gt;
&lt;img align="top" src="http://www.z6688.com/uploadfile/200611/200611715585437.gif" alt="" /&gt;              height &lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;=&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; pvih&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;-&amp;gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;bmiheader.biheight;&lt;br /&gt;
&lt;img align="top" src="http://www.z6688.com/uploadfile/200611/200611715585437.gif" alt="" /&gt;              &lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;if&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;(height &lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;0&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; ) height &lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;*=&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;-&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;1&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;;&lt;br /&gt;
&lt;img align="top" src="http://www.z6688.com/uploadfile/200611/200611715585241.gif" alt="" /&gt;         }&lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&lt;br /&gt;
&lt;img align="top" src="http://www.z6688.com/uploadfile/200611/200611715585437.gif" alt="" /&gt;         &lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;else&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&lt;br /&gt;
&lt;img align="top" src="http://www.z6688.com/uploadfile/200611/200611715585437.gif" alt="" /&gt;              hr &lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;=&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; vfw_e_invalidmediatype;&lt;br /&gt;
&lt;img align="top" src="http://www.z6688.com/uploadfile/200611/200611715585437.gif" alt="" /&gt;         myfreemediatype(mt); &lt;/span&gt;&lt;span style="color: rgb(0, 128, 0);"&gt;//&lt;/span&gt;&lt;span style="color: rgb(0, 128, 0);"&gt; 释放am_media_type结构&lt;/span&gt;&lt;span style="color: rgb(0, 128, 0);"&gt;&lt;br /&gt;
&lt;img align="top" src="http://www.z6688.com/uploadfile/200611/200611715585241.gif" alt="" /&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;     }&lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&lt;br /&gt;
&lt;img align="top" src="http://www.z6688.com/uploadfile/200611/200611715585437.gif" alt="" /&gt;     &lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;if&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; (failed(hr))&lt;br /&gt;
&lt;img align="top" src="http://www.z6688.com/uploadfile/200611/200611715585437.gif" alt="" /&gt;         &lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;return&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; null;&lt;br /&gt;
&lt;img align="top" src="http://www.z6688.com/uploadfile/200611/200611715585437.gif" alt="" /&gt;     &lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;return&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; (handle)lookforsuitablemovieframe(pdet,width,height,graycolorcountthreshold);&lt;br /&gt;
&lt;img align="top" src="http://www.z6688.com/uploadfile/200611/200611715585700.gif" alt="" /&gt;}&lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&lt;br /&gt;
&lt;img align="top" src="http://www.z6688.com/uploadfile/200611/200611715583218.gif" alt="" /&gt; &lt;br /&gt;
&lt;img align="top" src="http://www.z6688.com/uploadfile/200611/200611715584605.gif" alt="" onclick="this.style.display=none; document.getelementbyid(_2382_2522_open_text).style.display=none; document.getelementbyid(_2382_2522_closed_image).style.display=inline; document.getelementbyid(_2382_2522_closed_text).style.display=inline;" id="_2382_2522_open_image" /&gt;&lt;img align="top" src="http://www.z6688.com/uploadfile/200611/200611715584688.gif" alt="" onclick="this.style.display=none; document.getelementbyid(_2382_2522_closed_text).style.display=none; document.getelementbyid(_2382_2522_open_image).style.display=inline; document.getelementbyid(_2382_2522_open_text).style.display=inline;" style="display: none;" id="_2382_2522_closed_image" /&gt;&lt;/span&gt;&lt;span style="border: 1px solid rgb(128, 128, 128); display: none; background-color: rgb(255, 255, 255);" id="_2382_2522_closed_text"&gt;/**/&lt;/span&gt;&lt;span id="_2382_2522_open_text"&gt;&lt;span style="color: rgb(0, 128, 0);"&gt;/*&lt;/span&gt;&lt;span style="color: rgb(0, 128, 0);"&gt;*&lt;br /&gt;
&lt;img align="top" src="http://www.z6688.com/uploadfile/200611/200611715585437.gif" alt="" /&gt;* 写入合适视频帧截图到磁盘&lt;br /&gt;
&lt;img align="top" src="http://www.z6688.com/uploadfile/200611/200611715585437.gif" alt="" /&gt;* @param pdet directshow的imediadet接口&lt;br /&gt;
&lt;img align="top" src="http://www.z6688.com/uploadfile/200611/200611715585437.gif" alt="" /&gt;* @param width 截图的长&lt;br /&gt;
&lt;img align="top" src="http://www.z6688.com/uploadfile/200611/200611715585437.gif" alt="" /&gt;* @param height 截图的宽&lt;br /&gt;
&lt;img align="top" src="http://www.z6688.com/uploadfile/200611/200611715585437.gif" alt="" /&gt;* @param graycolorcountthreshold 灰度颜色个数阈值&lt;br /&gt;
&lt;img align="top" src="http://www.z6688.com/uploadfile/200611/200611715585700.gif" alt="" /&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 128, 0);"&gt;*/&lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&lt;br /&gt;
&lt;img align="top" src="http://www.z6688.com/uploadfile/200611/200611715583218.gif" alt="" /&gt;hbitmap lookforsuitablemovieframe(imediadet&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;*&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; pdet,&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;int&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; width,&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;int&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; height,&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;int&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; graycolorcountthreshold)&lt;br /&gt;
&lt;img align="top" src="http://www.z6688.com/uploadfile/200611/200611715584605.gif" alt="" onclick="this.style.display=none; document.getelementbyid(_2624_4085_open_text).style.display=none; document.getelementbyid(_2624_4085_closed_image).style.display=inline; document.getelementbyid(_2624_4085_closed_text).style.display=inline;" id="_2624_4085_open_image" /&gt;&lt;img align="top" src="http://www.z6688.com/uploadfile/200611/200611715584688.gif" alt="" onclick="this.style.display=none; document.getelementbyid(_2624_4085_closed_text).style.display=none; document.getelementbyid(_2624_4085_open_image).style.display=inline; document.getelementbyid(_2624_4085_open_text).style.display=inline;" style="display: none;" id="_2624_4085_closed_image" /&gt;&lt;/span&gt;&lt;span style="border: 1px solid rgb(128, 128, 128); display: none; background-color: rgb(255, 255, 255);" id="_2624_4085_closed_text"&gt;...&lt;/span&gt;&lt;span id="_2624_4085_open_text"&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;{&lt;br /&gt;
&lt;img align="top" src="http://www.z6688.com/uploadfile/200611/200611715585437.gif" alt="" /&gt;     &lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;long&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; size;&lt;br /&gt;
&lt;img align="top" src="http://www.z6688.com/uploadfile/200611/200611715585437.gif" alt="" /&gt;     &lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;double&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; time &lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;=&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;0.0&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;;&lt;br /&gt;
&lt;img align="top" src="http://www.z6688.com/uploadfile/200611/200611715585437.gif" alt="" /&gt;     &lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;double&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; totaltime;&lt;br /&gt;
&lt;img align="top" src="http://www.z6688.com/uploadfile/200611/200611715585437.gif" alt="" /&gt; &lt;br /&gt;
&lt;img align="top" src="http://www.z6688.com/uploadfile/200611/200611715585437.gif" alt="" /&gt;     &lt;/span&gt;&lt;span style="color: rgb(0, 128, 0);"&gt;//&lt;/span&gt;&lt;span style="color: rgb(0, 128, 0);"&gt; 获取整个视频的时间长度&lt;/span&gt;&lt;span style="color: rgb(0, 128, 0);"&gt;&lt;br /&gt;
&lt;img align="top" src="http://www.z6688.com/uploadfile/200611/200611715585437.gif" alt="" /&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;     pdet&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;-&amp;gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;get_streamlength(&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&amp;amp;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;totaltime);&lt;br /&gt;
&lt;img align="top" src="http://www.z6688.com/uploadfile/200611/200611715585437.gif" alt="" /&gt;     &lt;/span&gt;&lt;span style="color: rgb(0, 128, 0);"&gt;//&lt;/span&gt;&lt;span style="color: rgb(0, 128, 0);"&gt; 每1秒,截取视频截图&lt;/span&gt;&lt;span style="color: rgb(0, 128, 0);"&gt;&lt;br /&gt;
&lt;img align="top" src="http://www.z6688.com/uploadfile/200611/200611715585437.gif" alt="" /&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;     &lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;for&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;(time&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;=&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;0.0&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;; time &lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;totaltime; time&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;+=&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;1.0&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;) &lt;br /&gt;
&lt;img align="top" src="http://www.z6688.com/uploadfile/200611/200611715585494.gif" alt="" onclick="this.style.display=none; document.getelementbyid(_2825_4065_open_text).style.display=none; document.getelementbyid(_2825_4065_closed_image).style.display=inline; document.getelementbyid(_2825_4065_closed_text).style.display=inline;" id="_2825_4065_open_image" /&gt;&lt;img align="top" src="http://www.z6688.com/uploadfile/200611/200611715585674.gif" alt="" onclick="this.style.display=none; document.getelementbyid(_2825_4065_closed_text).style.display=none; document.getelementbyid(_2825_4065_open_image).style.display=inline; document.getelementbyid(_2825_4065_open_text).style.display=inline;" style="display: none;" id="_2825_4065_closed_image" /&gt;     &lt;/span&gt;&lt;span style="border: 1px solid rgb(128, 128, 128); display: none; background-color: rgb(255, 255, 255);" id="_2825_4065_closed_text"&gt;...&lt;/span&gt;&lt;span id="_2825_4065_open_text"&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;{&lt;br /&gt;
&lt;img align="top" src="http://www.z6688.com/uploadfile/200611/200611715585437.gif" alt="" /&gt;         &lt;/span&gt;&lt;span style="color: rgb(0, 128, 0);"&gt;//&lt;/span&gt;&lt;span style="color: rgb(0, 128, 0);"&gt; 获取bitmap的buffer大小&lt;/span&gt;&lt;span style="color: rgb(0, 128, 0);"&gt;&lt;br /&gt;
&lt;img align="top" src="http://www.z6688.com/uploadfile/200611/200611715585437.gif" alt="" /&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;         hresult hr &lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;=&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; pdet&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;-&amp;gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;getbitmapbits(time, &lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&amp;amp;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;size, &lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;0&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;, width, height);&lt;br /&gt;
&lt;img align="top" src="http://www.z6688.com/uploadfile/200611/200611715585437.gif" alt="" /&gt;         &lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;if&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; (succeeded(hr)) &lt;br /&gt;
&lt;img align="top" src="http://www.z6688.com/uploadfile/200611/200611715585494.gif" alt="" onclick="this.style.display=none; document.getelementbyid(_2969_4058_open_text).style.display=none; document.getelementbyid(_2969_4058_closed_image).style.display=inline; document.getelementbyid(_2969_4058_closed_text).style.display=inline;" id="_2969_4058_open_image" /&gt;&lt;img align="top" src="http://www.z6688.com/uploadfile/200611/200611715585674.gif" alt="" onclick="this.style.display=none; document.getelementbyid(_2969_4058_closed_text).style.display=none; document.getelementbyid(_2969_4058_open_image).style.display=inline; document.getelementbyid(_2969_4058_open_text).style.display=inline;" style="display: none;" id="_2969_4058_closed_image" /&gt;         &lt;/span&gt;&lt;span style="border: 1px solid rgb(128, 128, 128); display: none; background-color: rgb(255, 255, 255);" id="_2969_4058_closed_text"&gt;...&lt;/span&gt;&lt;span id="_2969_4058_open_text"&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;{&lt;br /&gt;
&lt;img align="top" src="http://www.z6688.com/uploadfile/200611/200611715585437.gif" alt="" /&gt;              &lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;char&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;*&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;pbuffer &lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;=&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;new&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;char&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;[size];&lt;br /&gt;
&lt;img align="top" src="http://www.z6688.com/uploadfile/200611/200611715585437.gif" alt="" /&gt;              &lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;if&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; (&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;!&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;pbuffer)&lt;br /&gt;
&lt;img align="top" src="http://www.z6688.com/uploadfile/200611/200611715585437.gif" alt="" /&gt;                   &lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;return&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; null;&lt;br /&gt;
&lt;img align="top" src="http://www.z6688.com/uploadfile/200611/200611715585437.gif" alt="" /&gt;              hr &lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;=&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; pdet&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;-&amp;gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;getbitmapbits(time, &lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;0&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;, pbuffer, width, height);&lt;br /&gt;
&lt;img align="top" src="http://www.z6688.com/uploadfile/200611/200611715585437.gif" alt="" /&gt;              &lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;if&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; (succeeded(hr))&lt;br /&gt;
&lt;img align="top" src="http://www.z6688.com/uploadfile/200611/200611715585494.gif" alt="" onclick="this.style.display=none; document.getelementbyid(_3197_4015_open_text).style.display=none; document.getelementbyid(_3197_4015_closed_image).style.display=inline; document.getelementbyid(_3197_4015_closed_text).style.display=inline;" id="_3197_4015_open_image" /&gt;&lt;img align="top" src="http://www.z6688.com/uploadfile/200611/200611715585674.gif" alt="" onclick="this.style.display=none; document.getelementbyid(_3197_4015_closed_text).style.display=none; document.getelementbyid(_3197_4015_open_image).style.display=inline; document.getelementbyid(_3197_4015_open_text).style.display=inline;" style="display: none;" id="_3197_4015_closed_image" /&gt;              &lt;/span&gt;&lt;span style="border: 1px solid rgb(128, 128, 128); display: none; background-color: rgb(255, 255, 255);" id="_3197_4015_closed_text"&gt;...&lt;/span&gt;&lt;span id="_3197_4015_open_text"&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;{&lt;br /&gt;
&lt;img align="top" src="http://www.z6688.com/uploadfile/200611/200611715585437.gif" alt="" /&gt;                   &lt;/span&gt;&lt;span style="color: rgb(0, 128, 0);"&gt;//&lt;/span&gt;&lt;span style="color: rgb(0, 128, 0);"&gt; find the address of the start of the image data.&lt;/span&gt;&lt;span style="color: rgb(0, 128, 0);"&gt;&lt;br /&gt;
&lt;img align="top" src="http://www.z6688.com/uploadfile/200611/200611715585437.gif" alt="" /&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;                   &lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;void&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;*&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;pdata &lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;=&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; pbuffer &lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;+&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;sizeof&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;(bitmapinfoheader);&lt;br /&gt;
&lt;img align="top" src="http://www.z6688.com/uploadfile/200611/200611715585437.gif" alt="" /&gt;                   &lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;if&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;(issuitablemovieframe(pdata,width,height,graycolorcountthreshold))&lt;br /&gt;
&lt;img align="top" src="http://www.z6688.com/uploadfile/200611/200611715585494.gif" alt="" onclick="this.style.display=none; document.getelementbyid(_3446_3999_open_text).style.display=none; document.getelementbyid(_3446_3999_closed_image).style.display=inline; document.getelementbyid(_3446_3999_closed_text).style.display=inline;" id="_3446_3999_open_image" /&gt;&lt;img align="top" src="http://www.z6688.com/uploadfile/200611/200611715585674.gif" alt="" onclick="this.style.display=none; document.getelementbyid(_3446_3999_closed_text).style.display=none; document.getelementbyid(_3446_3999_open_image).style.display=inline; document.getelementbyid(_3446_3999_open_text).style.display=inline;" style="display: none;" id="_3446_3999_closed_image" /&gt;                   &lt;/span&gt;&lt;span style="border: 1px solid rgb(128, 128, 128); display: none; background-color: rgb(255, 255, 255);" id="_3446_3999_closed_text"&gt;...&lt;/span&gt;&lt;span id="_3446_3999_open_text"&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;{&lt;br /&gt;
&lt;img align="top" src="http://www.z6688.com/uploadfile/200611/200611715585437.gif" alt="" /&gt;                       bitmapinfoheader &lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;*&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;bmih &lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;=&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; (bitmapinfoheader&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;*&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;)pbuffer;&lt;br /&gt;
&lt;img align="top" src="http://www.z6688.com/uploadfile/200611/200611715585437.gif" alt="" /&gt;                       hdc hdcdest &lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;=&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; getdc(&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;0&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;);&lt;br /&gt;
&lt;img align="top" src="http://www.z6688.com/uploadfile/200611/200611715585437.gif" alt="" /&gt; &lt;br /&gt;
&lt;img align="top" src="http://www.z6688.com/uploadfile/200611/200611715585437.gif" alt="" /&gt;                       bitmapinfo bmi;&lt;br /&gt;
&lt;img align="top" src="http://www.z6688.com/uploadfile/200611/200611715585437.gif" alt="" /&gt;                       zeromemory(&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&amp;amp;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;bmi, &lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;sizeof&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;(bitmapinfo));&lt;br /&gt;
&lt;img align="top" src="http://www.z6688.com/uploadfile/200611/200611715585437.gif" alt="" /&gt;                       copymemory(&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&amp;amp;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;(bmi.bmiheader), bmih, &lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;sizeof&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;(bitmapinfoheader));&lt;br /&gt;
&lt;img align="top" src="http://www.z6688.com/uploadfile/200611/200611715585437.gif" alt="" /&gt;                       hbitmap hbitmap &lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;=&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; createdibitmap(hdcdest, bmih, cbm_init, &lt;br /&gt;
&lt;img align="top" src="http://www.z6688.com/uploadfile/200611/200611715585437.gif" alt="" /&gt;                            pdata, &lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&amp;amp;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;bmi, dib_rgb_colors);&lt;br /&gt;
&lt;img align="top" src="http://www.z6688.com/uploadfile/200611/200611715585437.gif" alt="" /&gt; &lt;br /&gt;
&lt;img align="top" src="http://www.z6688.com/uploadfile/200611/200611715585437.gif" alt="" /&gt;                       delete[] pbuffer;&lt;br /&gt;
&lt;img align="top" src="http://www.z6688.com/uploadfile/200611/200611715585437.gif" alt="" /&gt;                       &lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;return&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; hbitmap;&lt;br /&gt;
&lt;img align="top" src="http://www.z6688.com/uploadfile/200611/200611715585241.gif" alt="" /&gt;                   }&lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&lt;br /&gt;
&lt;img align="top" src="http://www.z6688.com/uploadfile/200611/200611715585241.gif" alt="" /&gt;              }&lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&lt;br /&gt;
&lt;img align="top" src="http://www.z6688.com/uploadfile/200611/200611715585437.gif" alt="" /&gt;              delete[] pbuffer;&lt;br /&gt;
&lt;img align="top" src="http://www.z6688.com/uploadfile/200611/200611715585241.gif" alt="" /&gt;         }&lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&lt;br /&gt;
&lt;img align="top" src="http://www.z6688.com/uploadfile/200611/200611715585241.gif" alt="" /&gt;     }&lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&lt;br /&gt;
&lt;img align="top" src="http://www.z6688.com/uploadfile/200611/200611715585437.gif" alt="" /&gt;     &lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;return&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; null;&lt;br /&gt;
&lt;img align="top" src="http://www.z6688.com/uploadfile/200611/200611715585700.gif" alt="" /&gt;}&lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&lt;br /&gt;
&lt;img align="top" src="http://www.z6688.com/uploadfile/200611/200611715583218.gif" alt="" /&gt; &lt;br /&gt;
&lt;img align="top" src="http://www.z6688.com/uploadfile/200611/200611715584605.gif" alt="" onclick="this.style.display=none; document.getelementbyid(_4089_4219_open_text).style.display=none; document.getelementbyid(_4089_4219_closed_image).style.display=inline; document.getelementbyid(_4089_4219_closed_text).style.display=inline;" id="_4089_4219_open_image" /&gt;&lt;img align="top" src="http://www.z6688.com/uploadfile/200611/200611715584688.gif" alt="" onclick="this.style.display=none; document.getelementbyid(_4089_4219_closed_text).style.display=none; document.getelementbyid(_4089_4219_open_image).style.display=inline; document.getelementbyid(_4089_4219_open_text).style.display=inline;" style="display: none;" id="_4089_4219_closed_image" /&gt;&lt;/span&gt;&lt;span style="border: 1px solid rgb(128, 128, 128); display: none; background-color: rgb(255, 255, 255);" id="_4089_4219_closed_text"&gt;/**/&lt;/span&gt;&lt;span id="_4089_4219_open_text"&gt;&lt;span style="color: rgb(0, 128, 0);"&gt;/*&lt;/span&gt;&lt;span style="color: rgb(0, 128, 0);"&gt;*&lt;br /&gt;
&lt;img align="top" src="http://www.z6688.com/uploadfile/200611/200611715585437.gif" alt="" /&gt;* 检测一个位图是否是合适的视频截图&lt;br /&gt;
&lt;img align="top" src="http://www.z6688.com/uploadfile/200611/200611715585437.gif" alt="" /&gt;* @param pdata 位图的点色数组&lt;br /&gt;
&lt;img align="top" src="http://www.z6688.com/uploadfile/200611/200611715585437.gif" alt="" /&gt;* @param width 位图的长&lt;br /&gt;
&lt;img align="top" src="http://www.z6688.com/uploadfile/200611/200611715585437.gif" alt="" /&gt;* @param height 位图的宽&lt;br /&gt;
&lt;img align="top" src="http://www.z6688.com/uploadfile/200611/200611715585437.gif" alt="" /&gt;* @param graycolorcountthreshold 灰度颜色个数阈值&lt;br /&gt;
&lt;img align="top" src="http://www.z6688.com/uploadfile/200611/200611715585700.gif" alt="" /&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 128, 0);"&gt;*/&lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&lt;br /&gt;
&lt;img align="top" src="http://www.z6688.com/uploadfile/200611/200611715583218.gif" alt="" /&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;bool&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; issuitablemovieframe(&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;void&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;*&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; pdata,&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;int&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; width,&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;int&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; height,&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;int&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; graycolorcountthreshold)&lt;br /&gt;
&lt;img align="top" src="http://www.z6688.com/uploadfile/200611/200611715584605.gif" alt="" onclick="this.style.display=none; document.getelementbyid(_4309_5337_open_text).style.display=none; document.getelementbyid(_4309_5337_closed_image).style.display=inline; document.getelementbyid(_4309_5337_closed_text).style.display=inline;" id="_4309_5337_open_image" /&gt;&lt;img align="top" src="http://www.z6688.com/uploadfile/200611/200611715584688.gif" alt="" onclick="this.style.display=none; document.getelementbyid(_4309_5337_closed_text).style.display=none; document.getelementbyid(_4309_5337_open_image).style.display=inline; document.getelementbyid(_4309_5337_open_text).style.display=inline;" style="display: none;" id="_4309_5337_closed_image" /&gt;&lt;/span&gt;&lt;span style="border: 1px solid rgb(128, 128, 128); display: none; background-color: rgb(255, 255, 255);" id="_4309_5337_closed_text"&gt;...&lt;/span&gt;&lt;span id="_4309_5337_open_text"&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;{&lt;br /&gt;
&lt;img align="top" src="http://www.z6688.com/uploadfile/200611/200611715585437.gif" alt="" /&gt;     byte&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;*&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; pixels &lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;=&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; (byte&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;*&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;)pdata;&lt;br /&gt;
&lt;img align="top" src="http://www.z6688.com/uploadfile/200611/200611715585437.gif" alt="" /&gt;     &lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;int&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; numgraycolor &lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;=&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;0&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;;&lt;br /&gt;
&lt;img align="top" src="http://www.z6688.com/uploadfile/200611/200611715585437.gif" alt="" /&gt;     &lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;int&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; size &lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;=&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; width&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;*&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;height;&lt;br /&gt;
&lt;img align="top" src="http://www.z6688.com/uploadfile/200611/200611715585437.gif" alt="" /&gt;     &lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;int&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; graycolor;&lt;br /&gt;
&lt;img align="top" src="http://www.z6688.com/uploadfile/200611/200611715585437.gif" alt="" /&gt;     &lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;int&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; i,j;&lt;br /&gt;
&lt;img align="top" src="http://www.z6688.com/uploadfile/200611/200611715585437.gif" alt="" /&gt;     &lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;int&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;*&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; appearedcolors &lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;=&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;new&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;int&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;[graycolorcountthreshold];&lt;br /&gt;
&lt;img align="top" src="http://www.z6688.com/uploadfile/200611/200611715585437.gif" alt="" /&gt;     &lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;int&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; numappearedcolors &lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;=&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;0&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;;&lt;br /&gt;
&lt;img align="top" src="http://www.z6688.com/uploadfile/200611/200611715585437.gif" alt="" /&gt;     &lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;for&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;(i&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;=&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;0&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;;i&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;size; i&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;++&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;) &lt;br /&gt;
&lt;img align="top" src="http://www.z6688.com/uploadfile/200611/200611715585494.gif" alt="" onclick="this.style.display=none; document.getelementbyid(_4561_5274_open_text).style.display=none; document.getelementbyid(_4561_5274_closed_image).style.display=inline; document.getelementbyid(_4561_5274_closed_text).style.display=inline;" id="_4561_5274_open_image" /&gt;&lt;img align="top" src="http://www.z6688.com/uploadfile/200611/200611715585674.gif" alt="" onclick="this.style.display=none; document.getelementbyid(_4561_5274_closed_text).style.display=none; document.getelementbyid(_4561_5274_open_image).style.display=inline; document.getelementbyid(_4561_5274_open_text).style.display=inline;" style="display: none;" id="_4561_5274_closed_image" /&gt;     &lt;/span&gt;&lt;span style="border: 1px solid rgb(128, 128, 128); display: none; background-color: rgb(255, 255, 255);" id="_4561_5274_closed_text"&gt;...&lt;/span&gt;&lt;span id="_4561_5274_open_text"&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;{&lt;br /&gt;
&lt;img align="top" src="http://www.z6688.com/uploadfile/200611/200611715585437.gif" alt="" /&gt;         &lt;/span&gt;&lt;span style="color: rgb(0, 128, 0);"&gt;//&lt;/span&gt;&lt;span style="color: rgb(0, 128, 0);"&gt; 计算当前点的灰度值，采用的rgb转换灰度的公式是gray = (r+g+b)/3&lt;/span&gt;&lt;span style="color: rgb(0, 128, 0);"&gt;&lt;br /&gt;
&lt;img align="top" src="http://www.z6688.com/uploadfile/200611/200611715585437.gif" alt="" /&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;         graycolor &lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;=&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; (pixels[i&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;*&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;3&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;] &lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;+&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;pixels[i&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;*&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;3&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;+&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;1&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;]&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;+&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;pixels[i&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;*&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;3&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;+&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;2&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;])&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;/&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;3&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;;&lt;br /&gt;
&lt;img align="top" src="http://www.z6688.com/uploadfile/200611/200611715585437.gif" alt="" /&gt;         &lt;/span&gt;&lt;span style="color: rgb(0, 128, 0);"&gt;//&lt;/span&gt;&lt;span style="color: rgb(0, 128, 0);"&gt; 检测该灰度色是否之前出现过&lt;/span&gt;&lt;span style="color: rgb(0, 128, 0);"&gt;&lt;br /&gt;
&lt;img align="top" src="http://www.z6688.com/uploadfile/200611/200611715585437.gif" alt="" /&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;         &lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;for&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;(j&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;=&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;0&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;;j&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;numappearedcolors; j&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;++&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;) &lt;br /&gt;
&lt;img align="top" src="http://www.z6688.com/uploadfile/200611/200611715585494.gif" alt="" onclick="this.style.display=none; document.getelementbyid(_4762_4848_open_text).style.display=none; document.getelementbyid(_4762_4848_closed_image).style.display=inline; document.getelementbyid(_4762_4848_closed_text).style.display=inline;" id="_4762_4848_open_image" /&gt;&lt;img align="top" src="http://www.z6688.com/uploadfile/200611/200611715585674.gif" alt="" onclick="this.style.display=none; document.getelementbyid(_4762_4848_closed_text).style.display=none; document.getelementbyid(_4762_4848_open_image).style.display=inline; document.getelementbyid(_4762_4848_open_text).style.display=inline;" style="display: none;" id="_4762_4848_closed_image" /&gt;         &lt;/span&gt;&lt;span style="border: 1px solid rgb(128, 128, 128); display: none; background-color: rgb(255, 255, 255);" id="_4762_4848_closed_text"&gt;...&lt;/span&gt;&lt;span id="_4762_4848_open_text"&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;{&lt;br /&gt;
&lt;img align="top" src="http://www.z6688.com/uploadfile/200611/200611715585437.gif" alt="" /&gt;              &lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;if&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;(graycolor &lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;==&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; appearedcolors[j])&lt;br /&gt;
&lt;img align="top" src="http://www.z6688.com/uploadfile/200611/200611715585437.gif" alt="" /&gt;                   &lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;break&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;;&lt;br /&gt;
&lt;img align="top" src="http://www.z6688.com/uploadfile/200611/200611715585241.gif" alt="" /&gt;         }&lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&lt;br /&gt;
&lt;img align="top" src="http://www.z6688.com/uploadfile/200611/200611715585437.gif" alt="" /&gt;         &lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;if&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;(j &lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;==&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; numappearedcolors) &lt;/span&gt;&lt;span style="color: rgb(0, 128, 0);"&gt;//&lt;/span&gt;&lt;span style="color: rgb(0, 128, 0);"&gt; 如果是新的灰度颜色值&lt;/span&gt;&lt;span style="color: rgb(0, 128, 0);"&gt;&lt;br /&gt;
&lt;img align="top" src="http://www.z6688.com/uploadfile/200611/200611715585494.gif" alt="" onclick="this.style.display=none; document.getelementbyid(_4909_5267_open_text).style.display=none; document.getelementbyid(_4909_5267_closed_image).style.display=inline; document.getelementbyid(_4909_5267_closed_text).style.display=inline;" id="_4909_5267_open_image" /&gt;&lt;img align="top" src="http://www.z6688.com/uploadfile/200611/200611715585674.gif" alt="" onclick="this.style.display=none; document.getelementbyid(_4909_5267_closed_text).style.display=none; document.getelementbyid(_4909_5267_open_image).style.display=inline; document.getelementbyid(_4909_5267_open_text).style.display=inline;" style="display: none;" id="_4909_5267_closed_image" /&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;         &lt;/span&gt;&lt;span style="border: 1px solid rgb(128, 128, 128); display: none; background-color: rgb(255, 255, 255);" id="_4909_5267_closed_text"&gt;...&lt;/span&gt;&lt;span id="_4909_5267_open_text"&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;{&lt;br /&gt;
&lt;img align="top" src="http://www.z6688.com/uploadfile/200611/200611715585437.gif" alt="" /&gt;              numappearedcolors&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;++&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;;&lt;br /&gt;
&lt;img align="top" src="http://www.z6688.com/uploadfile/200611/200611715585437.gif" alt="" /&gt;              &lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;if&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;(numappearedcolors &lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;==&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; graycolorcountthreshold) &lt;/span&gt;&lt;span style="color: rgb(0, 128, 0);"&gt;//&lt;/span&gt;&lt;span style="color: rgb(0, 128, 0);"&gt; 如果灰度颜色个数满足阈值&lt;/span&gt;&lt;span style="color: rgb(0, 128, 0);"&gt;&lt;br /&gt;
&lt;img align="top" src="http://www.z6688.com/uploadfile/200611/200611715585494.gif" alt="" onclick="this.style.display=none; document.getelementbyid(_5039_5142_open_text).style.display=none; document.getelementbyid(_5039_5142_closed_image).style.display=inline; document.getelementbyid(_5039_5142_closed_text).style.display=inline;" id="_5039_5142_open_image" /&gt;&lt;img align="top" src="http://www.z6688.com/uploadfile/200611/200611715585674.gif" alt="" onclick="this.style.display=none; document.getelementbyid(_5039_5142_closed_text).style.display=none; document.getelementbyid(_5039_5142_open_image).style.display=inline; document.getelementbyid(_5039_5142_open_text).style.display=inline;" style="display: none;" id="_5039_5142_closed_image" /&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;              &lt;/span&gt;&lt;span style="border: 1px solid rgb(128, 128, 128); display: none; background-color: rgb(255, 255, 255);" id="_5039_5142_closed_text"&gt;...&lt;/span&gt;&lt;span id="_5039_5142_open_text"&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;{&lt;br /&gt;
&lt;img align="top" src="http://www.z6688.com/uploadfile/200611/200611715585437.gif" alt="" /&gt;                   delete[] appearedcolors;&lt;br /&gt;
&lt;img align="top" src="http://www.z6688.com/uploadfile/200611/200611715585437.gif" alt="" /&gt;                   &lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;return&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;true&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;; &lt;/span&gt;&lt;span style="color: rgb(0, 128, 0);"&gt;//&lt;/span&gt;&lt;span style="color: rgb(0, 128, 0);"&gt; 返回信息，合适&lt;/span&gt;&lt;span style="color: rgb(0, 128, 0);"&gt;&lt;br /&gt;
&lt;img align="top" src="http://www.z6688.com/uploadfile/200611/200611715585241.gif" alt="" /&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;              }&lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&lt;br /&gt;
&lt;img align="top" src="http://www.z6688.com/uploadfile/200611/200611715585437.gif" alt="" /&gt;              &lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;else&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&lt;br /&gt;
&lt;img align="top" src="http://www.z6688.com/uploadfile/200611/200611715585494.gif" alt="" onclick="this.style.display=none; document.getelementbyid(_5177_5256_open_text).style.display=none; document.getelementbyid(_5177_5256_closed_image).style.display=inline; document.getelementbyid(_5177_5256_closed_text).style.display=inline;" id="_5177_5256_open_image" /&gt;&lt;img align="top" src="http://www.z6688.com/uploadfile/200611/200611715585674.gif" alt="" onclick="this.style.display=none; document.getelementbyid(_5177_5256_closed_text).style.display=none; document.getelementbyid(_5177_5256_open_image).style.display=inline; document.getelementbyid(_5177_5256_open_text).style.display=inline;" style="display: none;" id="_5177_5256_closed_image" /&gt;              &lt;/span&gt;&lt;span style="border: 1px solid rgb(128, 128, 128); display: none; background-color: rgb(255, 255, 255);" id="_5177_5256_closed_text"&gt;...&lt;/span&gt;&lt;span id="_5177_5256_open_text"&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;{&lt;br /&gt;
&lt;img align="top" src="http://www.z6688.com/uploadfile/200611/200611715585437.gif" alt="" /&gt;                   appearedcolors[j] &lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;=&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; graycolor; &lt;/span&gt;&lt;span style="color: rgb(0, 128, 0);"&gt;//&lt;/span&gt;&lt;span style="color: rgb(0, 128, 0);"&gt; 记录下该灰度颜色值&lt;/span&gt;&lt;span style="color: rgb(0, 128, 0);"&gt;&lt;br /&gt;
&lt;img align="top" src="http://www.z6688.com/uploadfile/200611/200611715585241.gif" alt="" /&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;              }&lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&lt;br /&gt;
&lt;img align="top" src="http://www.z6688.com/uploadfile/200611/200611715585241.gif" alt="" /&gt;         }&lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&lt;br /&gt;
&lt;img align="top" src="http://www.z6688.com/uploadfile/200611/200611715585241.gif" alt="" /&gt;     }&lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&lt;br /&gt;
&lt;img align="top" src="http://www.z6688.com/uploadfile/200611/200611715585437.gif" alt="" /&gt;     delete[] appearedcolors;&lt;br /&gt;
&lt;img align="top" src="http://www.z6688.com/uploadfile/200611/200611715585437.gif" alt="" /&gt;     &lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;return&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;false&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;; &lt;/span&gt;&lt;span style="color: rgb(0, 128, 0);"&gt;//&lt;/span&gt;&lt;span style="color: rgb(0, 128, 0);"&gt; 返回信息，不合适&lt;/span&gt;&lt;span style="color: rgb(0, 128, 0);"&gt;&lt;br /&gt;
&lt;img align="top" src="http://www.z6688.com/uploadfile/200611/200611715585700.gif" alt="" /&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;}&lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&lt;br /&gt;
&lt;img align="top" src="http://www.z6688.com/uploadfile/200611/200611715583218.gif" alt="" /&gt; &lt;br /&gt;
&lt;img align="top" src="http://www.z6688.com/uploadfile/200611/200611715583218.gif" alt="" /&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;void&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; myfreemediatype(am_media_type&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&amp;amp;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; mt)&lt;br /&gt;
&lt;img align="top" src="http://www.z6688.com/uploadfile/200611/200611715584605.gif" alt="" onclick="this.style.display=none; document.getelementbyid(_5381_5589_open_text).style.display=none; document.getelementbyid(_5381_5589_closed_image).style.display=inline; document.getelementbyid(_5381_5589_closed_text).style.display=inline;" id="_5381_5589_open_image" /&gt;&lt;img align="top" src="http://www.z6688.com/uploadfile/200611/200611715584688.gif" alt="" onclick="this.style.display=none; document.getelementbyid(_5381_5589_closed_text).style.display=none; document.getelementbyid(_5381_5589_open_image).style.display=inline; document.getelementbyid(_5381_5589_open_text).style.display=inline;" style="display: none;" id="_5381_5589_closed_image" /&gt;&lt;/span&gt;&lt;span style="border: 1px solid rgb(128, 128, 128); display: none; background-color: rgb(255, 255, 255);" id="_5381_5589_closed_text"&gt;...&lt;/span&gt;&lt;span id="_5381_5589_open_text"&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;{&lt;br /&gt;
&lt;img align="top" src="http://www.z6688.com/uploadfile/200611/200611715585437.gif" alt="" /&gt;     &lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;if&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;(mt.cbformat &lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;!=&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;0&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;)&lt;br /&gt;
&lt;img align="top" src="http://www.z6688.com/uploadfile/200611/200611715585494.gif" alt="" onclick="this.style.display=none; document.getelementbyid(_5414_5491_open_text).style.display=none; document.getelementbyid(_5414_5491_closed_image).style.display=inline; document.getelementbyid(_5414_5491_closed_text).style.display=inline;" id="_5414_5491_open_image" /&gt;&lt;img align="top" src="http://www.z6688.com/uploadfile/200611/200611715585674.gif" alt="" onclick="this.style.display=none; document.getelementbyid(_5414_5491_closed_text).style.display=none; document.getelementbyid(_5414_5491_open_image).style.display=inline; document.getelementbyid(_5414_5491_open_text).style.display=inline;" style="display: none;" id="_5414_5491_closed_image" /&gt;     &lt;/span&gt;&lt;span style="border: 1px solid rgb(128, 128, 128); display: none; background-color: rgb(255, 255, 255);" id="_5414_5491_closed_text"&gt;...&lt;/span&gt;&lt;span id="_5414_5491_open_text"&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;{&lt;br /&gt;
&lt;img align="top" src="http://www.z6688.com/uploadfile/200611/200611715585437.gif" alt="" /&gt;         cotaskmemfree((pvoid)mt.pbformat);&lt;br /&gt;
&lt;img align="top" src="http://www.z6688.com/uploadfile/200611/200611715585437.gif" alt="" /&gt;         mt.cbformat &lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;=&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;0&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;;&lt;br /&gt;
&lt;img align="top" src="http://www.z6688.com/uploadfile/200611/200611715585241.gif" alt="" /&gt;     }&lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&lt;br /&gt;
&lt;img align="top" src="http://www.z6688.com/uploadfile/200611/200611715585437.gif" alt="" /&gt; &lt;br /&gt;
&lt;img align="top" src="http://www.z6688.com/uploadfile/200611/200611715585437.gif" alt="" /&gt;     &lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;if&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; (mt.punk &lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;!=&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; null)&lt;br /&gt;
&lt;img align="top" src="http://www.z6688.com/uploadfile/200611/200611715585494.gif" alt="" onclick="this.style.display=none; document.getelementbyid(_5526_5587_open_text).style.display=none; document.getelementbyid(_5526_5587_closed_image).style.display=inline; document.getelementbyid(_5526_5587_closed_text).style.display=inline;" id="_5526_5587_open_image" /&gt;&lt;img align="top" src="http://www.z6688.com/uploadfile/200611/200611715585674.gif" alt="" onclick="this.style.display=none; document.getelementbyid(_5526_5587_closed_text).style.display=none; document.getelementbyid(_5526_5587_open_image).style.display=inline; document.getelementbyid(_5526_5587_open_text).style.display=inline;" style="display: none;" id="_5526_5587_closed_image" /&gt;     &lt;/span&gt;&lt;span style="border: 1px solid rgb(128, 128, 128); display: none; background-color: rgb(255, 255, 255);" id="_5526_5587_closed_text"&gt;...&lt;/span&gt;&lt;span id="_5526_5587_open_text"&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;{&lt;br /&gt;
&lt;img align="top" src="http://www.z6688.com/uploadfile/200611/200611715585437.gif" alt="" /&gt;         mt.punk&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;-&amp;gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;release();&lt;br /&gt;
&lt;img align="top" src="http://www.z6688.com/uploadfile/200611/200611715585437.gif" alt="" /&gt;         mt.punk &lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;=&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; null;&lt;br /&gt;
&lt;img align="top" src="http://www.z6688.com/uploadfile/200611/200611715585241.gif" alt="" /&gt;     }&lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&lt;br /&gt;
&lt;img align="top" src="http://www.z6688.com/uploadfile/200611/200611715585700.gif" alt="" /&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
 &lt;/div&gt;
&lt;div style="text-indent: 21pt;"&gt;其中，为了使用directshow，我们除了需要windows.h外，还需要dshow.h,qedit.h和atlbase.h三个头文件，最后再加上一个strmiids.lib库文件。&lt;/div&gt;
&lt;div&gt; &lt;/div&gt;
&lt;div style="text-indent: 21pt;"&gt;接下来就开启visual c# 2005 express来做一个简单的界面程序。为什么选择c# 来开发界面程序呢？原因很简单，因为c#很简单，同时visual c# 2005 express这样免费又功能强大的工具可以使用。&lt;/div&gt;
&lt;div style="text-indent: 21pt;"&gt;界面程序很简单，就下面这个样子：&lt;/div&gt;
&lt;div&gt; &lt;img src="http://www.z6688.com/uploadfile/200611/200611715585685.jpg" alt="" /&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;       c# &lt;/span&gt;部分调用前面写好的dll函数，实现ddshow的抓图。 moviegrabberdll.cs源代码如下：&lt;/div&gt;
&lt;div&gt;
&lt;div style="border: 0.5pt solid windowtext; padding: 4px 5.4pt; background: rgb(230, 230, 230) none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; width: 95%;"&gt;
&lt;div&gt;&lt;img align="top" src="http://www.z6688.com/uploadfile/200611/200611715583218.gif" alt="" /&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;using&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; system;&lt;br /&gt;
&lt;img align="top" src="http://www.z6688.com/uploadfile/200611/200611715583218.gif" alt="" /&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;using&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; system.collections.generic;&lt;br /&gt;
&lt;img align="top" src="http://www.z6688.com/uploadfile/200611/200611715583218.gif" alt="" /&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;using&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; system.text;&lt;br /&gt;
&lt;img align="top" src="http://www.z6688.com/uploadfile/200611/200611715583218.gif" alt="" /&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;using&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; system.runtime.interopservices;&lt;br /&gt;
&lt;img align="top" src="http://www.z6688.com/uploadfile/200611/200611715583218.gif" alt="" /&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;using&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; system.drawing;&lt;br /&gt;
&lt;img align="top" src="http://www.z6688.com/uploadfile/200611/200611715583218.gif" alt="" /&gt; &lt;br /&gt;
&lt;img align="top" src="http://www.z6688.com/uploadfile/200611/200611715583218.gif" alt="" /&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;namespace&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; moviegrabbercsharp&lt;br /&gt;
&lt;img align="top" src="http://www.z6688.com/uploadfile/200611/200611715584605.gif" alt="" onclick="this.style.display=none; document.getelementbyid(_158_879_open_text).style.display=none; document.getelementbyid(_158_879_closed_image).style.display=inline; document.getelementbyid(_158_879_closed_text).style.display=inline;" id="_158_879_open_image" /&gt;&lt;img align="top" src="http://www.z6688.com/uploadfile/200611/200611715584688.gif" alt="" onclick="this.style.display=none; document.getelementbyid(_158_879_closed_text).style.display=none; document.getelementbyid(_158_879_open_image).style.display=inline; document.getelementbyid(_158_879_open_text).style.display=inline;" style="display: none;" id="_158_879_closed_image" /&gt;&lt;/span&gt;&lt;span style="border: 1px solid rgb(128, 128, 128); display: none; background-color: rgb(255, 255, 255);" id="_158_879_closed_text"&gt;...&lt;/span&gt;&lt;span id="_158_879_open_text"&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;{&lt;br /&gt;
&lt;img align="top" src="http://www.z6688.com/uploadfile/200611/200611715585437.gif" alt="" /&gt;    &lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;class&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; moviegrabberdll&lt;br /&gt;
&lt;img align="top" src="http://www.z6688.com/uploadfile/200611/200611715585494.gif" alt="" onclick="this.style.display=none; document.getelementbyid(_190_877_open_text).style.display=none; document.getelementbyid(_190_877_closed_image).style.display=inline; document.getelementbyid(_190_877_closed_text).style.display=inline;" id="_190_877_open_image" /&gt;&lt;img align="top" src="http://www.z6688.com/uploadfile/200611/200611715585674.gif" alt="" onclick="this.style.display=none; document.getelementbyid(_190_877_closed_text).style.display=none; document.getelementbyid(_190_877_open_image).style.display=inline; document.getelementbyid(_190_877_open_text).style.display=inline;" style="display: none;" id="_190_877_closed_image" /&gt;    &lt;/span&gt;&lt;span style="border: 1px solid rgb(128, 128, 128); display: none; background-color: rgb(255, 255, 255);" id="_190_877_closed_text"&gt;...&lt;/span&gt;&lt;span id="_190_877_open_text"&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;{&lt;br /&gt;
&lt;img align="top" src="http://www.z6688.com/uploadfile/200611/200611715585437.gif" alt="" /&gt;        [dllimport(&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;"&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;moviegrabberdll.dll&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;"&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;)]&lt;br /&gt;
&lt;img align="top" src="http://www.z6688.com/uploadfile/200611/200611715585437.gif" alt="" /&gt;        &lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;public&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;static&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;extern&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;int&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; fnmoviegrabberdll();&lt;br /&gt;
&lt;img align="top" src="http://www.z6688.com/uploadfile/200611/200611715585437.gif" alt="" /&gt; &lt;br /&gt;
&lt;img align="top" src="http://www.z6688.com/uploadfile/200611/200611715585437.gif" alt="" /&gt;        [dllimport(&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;"&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;moviegrabberdll.dll&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;"&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;)]&lt;br /&gt;
&lt;img align="top" src="http://www.z6688.com/uploadfile/200611/200611715585437.gif" alt="" /&gt;        &lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;public&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;static&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;extern&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; intptr grabmovieframe(&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;string&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; apath, &lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;int&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; graycolorcountthreshold);&lt;br /&gt;
&lt;img align="top" src="http://www.z6688.com/uploadfile/200611/200611715585437.gif" alt="" /&gt; &lt;br /&gt;
&lt;img align="top" src="http://www.z6688.com/uploadfile/200611/200611715585437.gif" alt="" /&gt;        &lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;public&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;static&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; bitmap grabmovieframebitmap(&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;string&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; apath,&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;int&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; graycolorcountthreshold)&lt;br /&gt;
&lt;img align="top" src="http://www.z6688.com/uploadfile/200611/200611715585494.gif" alt="" onclick="this.style.display=none; document.getelementbyid(_531_734_open_text).style.display=none; document.getelementbyid(_531_734_closed_image).style.display=inline; document.getelementbyid(_531_734_closed_text).style.display=inline;" id="_531_734_open_image" /&gt;&lt;img align="top" src="http://www.z6688.com/uploadfile/200611/200611715585674.gif" alt="" onclick="this.style.display=none; document.getelementbyid(_531_734_closed_text).style.display=none; document.getelementbyid(_531_734_open_image).style.display=inline; document.getelementbyid(_531_734_open_text).style.display=inline;" style="display: none;" id="_531_734_closed_image" /&gt;        &lt;/span&gt;&lt;span style="border: 1px solid rgb(128, 128, 128); display: none; background-color: rgb(255, 255, 255);" id="_531_734_closed_text"&gt;...&lt;/span&gt;&lt;span id="_531_734_open_text"&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;{&lt;br /&gt;
&lt;img align="top" src="http://www.z6688.com/uploadfile/200611/200611715585437.gif" alt="" /&gt;            intptr hbitmap &lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;=&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; grabmovieframe(apath, graycolorcountthreshold);&lt;br /&gt;
&lt;img align="top" src="http://www.z6688.com/uploadfile/200611/200611715585437.gif" alt="" /&gt;            &lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;if&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;(hbitmap &lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;==&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; intptr.zero)&lt;br /&gt;
&lt;img align="top" src="http://www.z6688.com/uploadfile/200611/200611715585437.gif" alt="" /&gt;                &lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;return&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;null&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;;&lt;br /&gt;
&lt;img align="top" src="http://www.z6688.com/uploadfile/200611/200611715585437.gif" alt="" /&gt;            &lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;return&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; bitmap.fromhbitmap(hbitmap);&lt;br /&gt;
&lt;img align="top" src="http://www.z6688.com/uploadfile/200611/200611715585241.gif" alt="" /&gt;        }&lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&lt;br /&gt;
&lt;img align="top" src="http://www.z6688.com/uploadfile/200611/200611715585437.gif" alt="" /&gt; &lt;br /&gt;
&lt;img align="top" src="http://www.z6688.com/uploadfile/200611/200611715585437.gif" alt="" /&gt;        &lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;public&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;static&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; bitmap grabmovieframebitmap(&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;string&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; apath)&lt;br /&gt;
&lt;img align="top" src="http://www.z6688.com/uploadfile/200611/200611715585494.gif" alt="" onclick="this.style.display=none; document.getelementbyid(_810_871_open_text).style.display=none; document.getelementbyid(_810_871_closed_image).style.display=inline; document.getelementbyid(_810_871_closed_text).style.display=inline;" id="_810_871_open_image" /&gt;&lt;img align="top" src="http://www.z6688.com/uploadfile/200611/200611715585674.gif" alt="" onclick="this.style.display=none; document.getelementbyid(_810_871_closed_text).style.display=none; document.getelementbyid(_810_871_open_image).style.display=inline; document.getelementbyid(_810_871_open_text).style.display=inline;" style="display: none;" id="_810_871_closed_image" /&gt;        &lt;/span&gt;&lt;span style="border: 1px solid rgb(128, 128, 128); display: none; background-color: rgb(255, 255, 255);" id="_810_871_closed_text"&gt;...&lt;/span&gt;&lt;span id="_810_871_open_text"&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;{&lt;br /&gt;
&lt;img align="top" src="http://www.z6688.com/uploadfile/200611/200611715585437.gif" alt="" /&gt;            &lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;return&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; grabmovieframebitmap(apath, &lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;8&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;);&lt;br /&gt;
&lt;img align="top" src="http://www.z6688.com/uploadfile/200611/200611715585241.gif" alt="" /&gt;        }&lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&lt;br /&gt;
&lt;img align="top" src="http://www.z6688.com/uploadfile/200611/200611715585241.gif" alt="" /&gt;    }&lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&lt;br /&gt;
&lt;img align="top" src="http://www.z6688.com/uploadfile/200611/200611715585700.gif" alt="" /&gt;}&lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&lt;br /&gt;
&lt;img align="top" src="http://www.z6688.com/uploadfile/200611/200611715583218.gif" alt="" /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
 &lt;/div&gt;
&lt;div&gt;窗口类mainform.cs的源代码如下：&lt;/div&gt;
&lt;div align="left"&gt;
&lt;div style="border: 0.5pt solid windowtext; padding: 4px 5.4pt; background: rgb(230, 230, 230) none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; width: 95%;"&gt;
&lt;div&gt;&lt;img align="top" src="http://www.z6688.com/uploadfile/200611/200611715583218.gif" alt="" /&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;using&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; system;&lt;br /&gt;
&lt;img align="top" src="http://www.z6688.com/uploadfile/200611/200611715583218.gif" alt="" /&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;using&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; system.collections.generic;&lt;br /&gt;
&lt;img align="top" src="http://www.z6688.com/uploadfile/200611/200611715583218.gif" alt="" /&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;using&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; system.componentmodel;&lt;br /&gt;
&lt;img align="top" src="http://www.z6688.com/uploadfile/200611/200611715583218.gif" alt="" /&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;using&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; system.data;&lt;br /&gt;
&lt;img align="top" src="http://www.z6688.com/uploadfile/200611/200611715583218.gif" alt="" /&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;using&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; system.drawing;&lt;br /&gt;
&lt;img align="top" src="http://www.z6688.com/uploadfile/200611/200611715583218.gif" alt="" /&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;using&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; system.text;&lt;br /&gt;
&lt;img align="top" src="http://www.z6688.com/uploadfile/200611/200611715583218.gif" alt="" /&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;using&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; system.windows.forms;&lt;br /&gt;
&lt;img align="top" src="http://www.z6688.com/uploadfile/200611/200611715583218.gif" alt="" /&gt; &lt;br /&gt;
&lt;img align="top" src="http://www.z6688.com/uploadfile/200611/200611715583218.gif" alt="" /&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;namespace&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; moviegrabbercsharp&lt;br /&gt;
&lt;img align="top" src="http://www.z6688.com/uploadfile/200611/200611715584605.gif" alt="" onclick="this.style.display=none; document.getelementbyid(_196_1335_open_text).style.display=none; document.getelementbyid(_196_1335_closed_image).style.display=inline; document.getelementbyid(_196_1335_closed_text).style.display=inline;" id="_196_1335_open_image" /&gt;&lt;img align="top" src="http://www.z6688.com/uploadfile/200611/200611715584688.gif" alt="" onclick="this.style.display=none; document.getelementbyid(_196_1335_closed_text).style.display=none; document.getelementbyid(_196_1335_open_image).style.display=inline; document.getelementbyid(_196_1335_open_text).style.display=inline;" style="display: none;" id="_196_1335_closed_image" /&gt;&lt;/span&gt;&lt;span style="border: 1px solid rgb(128, 128, 128); display: none; background-color: rgb(255, 255, 255);" id="_196_1335_closed_text"&gt;...&lt;/span&gt;&lt;span id="_196_1335_open_text"&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;{&lt;br /&gt;
&lt;img align="top" src="http://www.z6688.com/uploadfile/200611/200611715585437.gif" alt="" /&gt;    &lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;public&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;partial&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;class&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; mainform : form&lt;br /&gt;
&lt;img align="top" src="http://www.z6688.com/uploadfile/200611/200611715585494.gif" alt="" onclick="this.style.display=none; document.getelementbyid(_243_1333_open_text).style.display=none; document.getelementbyid(_243_1333_closed_image).style.display=inline; document.getelementbyid(_243_1333_closed_text).style.display=inline;" id="_243_1333_open_image" /&gt;&lt;img align="top" src="http://www.z6688.com/uploadfile/200611/200611715585674.gif" alt="" onclick="this.style.display=none; document.getelementbyid(_243_1333_closed_text).style.display=none; document.getelementbyid(_243_1333_open_image).style.display=inline; document.getelementbyid(_243_1333_open_text).style.display=inline;" style="display: none;" id="_243_1333_closed_image" /&gt;    &lt;/span&gt;&lt;span style="border: 1px solid rgb(128, 128, 128); display: none; background-color: rgb(255, 255, 255);" id="_243_1333_closed_text"&gt;...&lt;/span&gt;&lt;span id="_243_1333_open_text"&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;{&lt;br /&gt;
&lt;img align="top" src="http://www.z6688.com/uploadfile/200611/200611715585437.gif" alt="" /&gt;        &lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;public&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; mainform()&lt;br /&gt;
&lt;img align="top" src="http://www.z6688.com/uploadfile/200611/200611715585494.gif" alt="" onclick="this.style.display=none; document.getelementbyid(_279_324_open_text).style.display=none; document.getelementbyid(_279_324_closed_image).style.display=inline; document.getelementbyid(_279_324_closed_text).style.display=inline;" id="_279_324_open_image" /&gt;&lt;img align="top" src="http://www.z6688.com/uploadfile/200611/200611715585674.gif" alt="" onclick="this.style.display=none; document.getelementbyid(_279_324_closed_text).style.display=none; document.getelementbyid(_279_324_open_image).style.display=inline; document.getelementbyid(_279_324_open_text).style.display=inline;" style="display: none;" id="_279_324_closed_image" /&gt;        &lt;/span&gt;&lt;span style="border: 1px solid rgb(128, 128, 128); display: none; background-color: rgb(255, 255, 255);" id="_279_324_closed_text"&gt;...&lt;/span&gt;&lt;span id="_279_324_open_text"&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;{&lt;br /&gt;
&lt;img align="top" src="http://www.z6688.com/uploadfile/200611/200611715585437.gif" alt="" /&gt;            initializecomponent();&lt;br /&gt;
&lt;img align="top" src="http://www.z6688.com/uploadfile/200611/200611715585241.gif" alt="" /&gt;        }&lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&lt;br /&gt;
&lt;img align="top" src="http://www.z6688.com/uploadfile/200611/200611715585437.gif" alt="" /&gt; &lt;br /&gt;
&lt;img align="top" src="http://www.z6688.com/uploadfile/200611/200611715585437.gif" alt="" /&gt;        &lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;private&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;void&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; openmoviefilepathbutton_click(&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;object&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; sender, eventargs e)&lt;br /&gt;
&lt;img align="top" src="http://www.z6688.com/uploadfile/200611/200611715585494.gif" alt="" onclick="this.style.display=none; document.getelementbyid(_415_621_open_text).style.display=none; document.getelementbyid(_415_621_closed_image).style.display=inline; document.getelementbyid(_415_621_closed_text).style.display=inline;" id="_415_621_open_image" /&gt;&lt;img align="top" src="http://www.z6688.com/uploadfile/200611/200611715585674.gif" alt="" onclick="this.style.display=none; document.getelementbyid(_415_621_closed_text).style.display=none; document.getelementbyid(_415_621_open_image).style.display=inline; document.getelementbyid(_415_621_open_text).style.display=inline;" style="display: none;" id="_415_621_closed_image" /&gt;        &lt;/span&gt;&lt;span style="border: 1px solid rgb(128, 128, 128); display: none; background-color: rgb(255, 255, 255);" id="_415_621_closed_text"&gt;...&lt;/span&gt;&lt;span id="_415_621_open_text"&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;{&lt;br /&gt;
&lt;img align="top" src="http://www.z6688.com/uploadfile/200611/200611715585437.gif" alt="" /&gt;            openfiledialog dlg &lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;=&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;new&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; openfiledialog();&lt;br /&gt;
&lt;img align="top" src="http://www.z6688.com/uploadfile/200611/200611715585437.gif" alt="" /&gt;            &lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;if&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; (dlg.showdialog() &lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;==&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; dialogresult.ok)&lt;br /&gt;
&lt;img align="top" src="http://www.z6688.com/uploadfile/200611/200611715585494.gif" alt="" onclick="this.style.display=none; document.getelementbyid(_537_609_open_text).style.display=none; document.getelementbyid(_537_609_closed_image).style.display=inline; document.getelementbyid(_537_609_closed_text).style.display=inline;" id="_537_609_open_image" /&gt;&lt;img align="top" src="http://www.z6688.com/uploadfile/200611/200611715585674.gif" alt="" onclick="this.style.display=none; document.getelementbyid(_537_609_closed_text).style.display=none; document.getelementbyid(_537_609_open_image).style.display=inline; document.getelementbyid(_537_609_open_text).style.display=inline;" style="display: none;" id="_537_609_closed_image" /&gt;            &lt;/span&gt;&lt;span style="border: 1px solid rgb(128, 128, 128); display: none; background-color: rgb(255, 255, 255);" id="_537_609_closed_text"&gt;...&lt;/span&gt;&lt;span id="_537_609_open_text"&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;{&lt;br /&gt;
&lt;img align="top" src="http://www.z6688.com/uploadfile/200611/200611715585437.gif" alt="" /&gt;                moviefilepathtextbox.text &lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;=&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; dlg.filename;&lt;br /&gt;
&lt;img align="top" src="http://www.z6688.com/uploadfile/200611/200611715585241.gif" alt="" /&gt;            }&lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&lt;br /&gt;
&lt;img align="top" src="http://www.z6688.com/uploadfile/200611/200611715585437.gif" alt="" /&gt; &lt;br /&gt;
&lt;img align="top" src="http://www.z6688.com/uploadfile/200611/200611715585241.gif" alt="" /&gt;        }&lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&lt;br /&gt;
&lt;img align="top" src="http://www.z6688.com/uploadfile/200611/200611715585437.gif" alt="" /&gt; &lt;br /&gt;
&lt;img align="top" src="http://www.z6688.com/uploadfile/200611/200611715585437.gif" alt="" /&gt;        &lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;private&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;void&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; grabberbutton_click(&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;object&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; sender, eventargs e)&lt;br /&gt;
&lt;img align="top" src="http://www.z6688.com/uploadfile/200611/200611715585494.gif" alt="" onclick="this.style.display=none; document.getelementbyid(_702_1213_open_text).style.display=none; document.getelementbyid(_702_1213_closed_image).style.display=inline; document.getelementbyid(_702_1213_closed_text).style.display=inline;" id="_702_1213_open_image" /&gt;&lt;img align="top" src="http://www.z6688.com/uploadfile/200611/200611715585674.gif" alt="" onclick="this.style.display=none; document.getelementbyid(_702_1213_closed_text).style.display=none; document.getelementbyid(_702_1213_open_image).style.display=inline; document.getelementbyid(_702_1213_open_text).style.display=inline;" style="display: none;" id="_702_1213_closed_image" /&gt;        &lt;/span&gt;&lt;span style="border: 1px solid rgb(128, 128, 128); display: none; background-color: rgb(255, 255, 255);" id="_702_1213_closed_text"&gt;...&lt;/span&gt;&lt;span id="_702_1213_open_text"&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;{&lt;br /&gt;
&lt;img align="top" src="http://www.z6688.com/uploadfile/200611/200611715585437.gif" alt="" /&gt;            bitmap bitmap &lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;=&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; moviegrabberdll.grabmovieframebitmap(moviefilepathtextbox.text);&lt;br /&gt;
&lt;img align="top" src="http://www.z6688.com/uploadfile/200611/200611715585437.gif" alt="" /&gt;            &lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;if&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; (bitmap &lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;!=&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;null&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;)&lt;br /&gt;
&lt;img align="top" src="http://www.z6688.com/uploadfile/200611/200611715585494.gif" alt="" onclick="this.style.display=none; document.getelementbyid(_841_1118_open_text).style.display=none; document.getelementbyid(_841_1118_closed_image).style.display=inline; document.getelementbyid(_841_1118_closed_text).style.display=inline;" id="_841_1118_open_image" /&gt;&lt;img align="top" src="http://www.z6688.com/uploadfile/200611/200611715585674.gif" alt="" onclick="this.style.display=none; document.getelementbyid(_841_1118_closed_text).style.display=none; document.getelementbyid(_841_1118_open_image).style.display=inline; document.getelementbyid(_841_1118_open_text).style.display=inline;" style="display: none;" id="_841_1118_closed_image" /&gt;            &lt;/span&gt;&lt;span style="border: 1px solid rgb(128, 128, 128); display: none; background-color: rgb(255, 255, 255);" id="_841_1118_closed_text"&gt;...&lt;/span&gt;&lt;span id="_841_1118_open_text"&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;{&lt;br /&gt;
&lt;img align="top" src="http://www.z6688.com/uploadfile/200611/200611715585437.gif" alt="" /&gt;                messagebox.show(&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;"&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;抓图成功！&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;"&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;);&lt;br /&gt;
&lt;img align="top" src="http://www.z6688.com/uploadfile/200611/200611715585437.gif" alt="" /&gt;                grabberpicturebox.sizemode &lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;=&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; pictureboxsizemode.stretchimage;&lt;br /&gt;
&lt;img align="top" src="http://www.z6688.com/uploadfile/200611/200611715585437.gif" alt="" /&gt;                grabberpicturebox.image &lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;=&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; bitmap;&lt;br /&gt;
&lt;img align="top" src="http://www.z6688.com/uploadfile/200611/200611715585437.gif" alt="" /&gt;                grabberpicturebox.invalidate();&lt;br /&gt;
&lt;img align="top" src="http://www.z6688.com/uploadfile/200611/200611715585437.gif" alt="" /&gt;                grabberpicturebox.refresh();&lt;br /&gt;
&lt;img align="top" src="http://www.z6688.com/uploadfile/200611/200611715585241.gif" alt="" /&gt;            }&lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&lt;br /&gt;
&lt;img align="top" src="http://www.z6688.com/uploadfile/200611/200611715585437.gif" alt="" /&gt;            &lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;else&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&lt;br /&gt;
&lt;img align="top" src="http://www.z6688.com/uploadfile/200611/200611715585494.gif" alt="" onclick="this.style.display=none; document.getelementbyid(_1149_1203_open_text).style.display=none; document.getelementbyid(_1149_1203_closed_image).style.display=inline; document.getelementbyid(_1149_1203_closed_text).style.display=inline;" id="_1149_1203_open_image" /&gt;&lt;img align="top" src="http://www.z6688.com/uploadfile/200611/200611715585674.gif" alt="" onclick="this.style.display=none; document.getelementbyid(_1149_1203_closed_text).style.display=none; document.getelementbyid(_1149_1203_open_image).style.display=inline; document.getelementbyid(_1149_1203_open_text).style.display=inline;" style="display: none;" id="_1149_1203_closed_image" /&gt;            &lt;/span&gt;&lt;span style="border: 1px solid rgb(128, 128, 128); display: none; background-color: rgb(255, 255, 255);" id="_1149_1203_closed_text"&gt;...&lt;/span&gt;&lt;span id="_1149_1203_open_text"&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;{&lt;br /&gt;
&lt;img align="top" src="http://www.z6688.com/uploadfile/200611/200611715585437.gif" alt="" /&gt;                messagebox.show(&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;"&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;失败！&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;"&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;);&lt;br /&gt;
&lt;img align="top" src="http://www.z6688.com/uploadfile/200611/200611715585241.gif" alt="" /&gt;            }&lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&lt;br /&gt;
&lt;img align="top" src="http://www.z6688.com/uploadfile/200611/200611715585241.gif" alt="" /&gt;        }&lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&lt;br /&gt;
&lt;img align="top" src="http://www.z6688.com/uploadfile/200611/200611715585437.gif" alt="" /&gt; &lt;br /&gt;
&lt;img align="top" src="http://www.z6688.com/uploadfile/200611/200611715585437.gif" alt="" /&gt;        &lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;private&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;void&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; exitbutton_click(&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;object&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; sender, eventargs e)&lt;br /&gt;
&lt;img align="top" src="http://www.z6688.com/uploadfile/200611/200611715585494.gif" alt="" onclick="this.style.display=none; document.getelementbyid(_1291_1327_open_text).style.display=none; document.getelementbyid(_1291_1327_closed_image).style.display=inline; document.getelementbyid(_1291_1327_closed_text).style.display=inline;" id="_1291_1327_open_image" /&gt;&lt;img align="top" src="http://www.z6688.com/uploadfile/200611/200611715585674.gif" alt="" onclick="this.style.display=none; document.getelementbyid(_1291_1327_closed_text).style.display=none; document.getelementbyid(_1291_1327_open_image).style.display=inline; document.getelementbyid(_1291_1327_open_text).style.display=inline;" style="display: none;" id="_1291_1327_closed_image" /&gt;        &lt;/span&gt;&lt;span style="border: 1px solid rgb(128, 128, 128); display: none; background-color: rgb(255, 255, 255);" id="_1291_1327_closed_text"&gt;...&lt;/span&gt;&lt;span id="_1291_1327_open_text"&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;{&lt;br /&gt;
&lt;img align="top" src="http://www.z6688.com/uploadfile/200611/200611715585437.gif" alt="" /&gt;            &lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;this&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;.close();&lt;br /&gt;
&lt;img align="top" src="http://www.z6688.com/uploadfile/200611/200611715585241.gif" alt="" /&gt;        }&lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&lt;br /&gt;
&lt;img align="top" src="http://www.z6688.com/uploadfile/200611/200611715585241.gif" alt="" /&gt;    }&lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&lt;br /&gt;
&lt;img align="top" src="http://www.z6688.com/uploadfile/200611/200611715585700.gif" alt="" /&gt;}&lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&lt;br /&gt;
&lt;img align="top" src="http://www.z6688.com/uploadfile/200611/200611715583218.gif" alt="" /&gt; &lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div style="text-indent: 21pt;"&gt;编译完成后，我们使用windows里面的一个intro.wmv视频文件来做测试， 具体路径是：c:\windows\system32\oobe\imagee\intro.wmv。之所以选择这个文件作为视频测试文件，因为这个视频 是大家安装完成后winxp后都会自动启动的windows xp的介绍视频，而且这个视频的开始部分是全黑，然后渐渐变亮，再到windows xp的动画部分。如果用windows自带的浏览器看微缩图显示，就是下面这个结果：&lt;/div&gt;
&lt;div style="text-indent: 21pt;"&gt;&lt;img src="http://www.z6688.com/uploadfile/200611/200611715585444.jpg" alt="" /&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;       &lt;/span&gt;可以看到，这个intro.wmv的微缩图是完全的一张黑色图片，我们并不能看到任何关于视频文件有意义的内容。&lt;/div&gt;
&lt;div&gt;&lt;span&gt;       &lt;/span&gt;下面启动我们刚才编写的demo视频截图工具来截一下图片，同样这个视频文件，可以看到这个的结果。&lt;/div&gt;
&lt;div&gt;&lt;span&gt;       &lt;/span&gt;&lt;/div&gt;
&lt;div&gt; &lt;img src="http://www.z6688.com/uploadfile/200611/200611715585562.jpg" alt="" /&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;       &lt;/span&gt;其中，程序里面默认给出的灰度颜色个数阈值是8，那么就是说，至少图片要有8个不同的颜色灰度值才会截取，而之前的全黑，全白就自然滤过了。&lt;br /&gt;
&lt;br /&gt;
http://www.z6688.com/info/48101-1.htm&lt;/div&gt;&lt;img src="http://blog.hidotnet.com/jacky/aggbug/97.aspx" width="1" height="1" /&gt;</description><dc:creator>jacky</dc:creator></item><item><title>FFmpeg相关下载</title><link>http://blog.hidotnet.com/jacky/archive/2007/02/04/96.aspx</link><pubDate>Sun, 04 Feb 2007 12:27:42 GMT</pubDate><guid isPermaLink="true">http://blog.hidotnet.com/jacky/archive/2007/02/04/96.aspx</guid><wfw:comment>http://blog.hidotnet.com/jacky/comments/96.aspx</wfw:comment><wfw:commentRss>http://blog.hidotnet.com/jacky/comments/commentRss/96.aspx</wfw:commentRss><comments>http://blog.hidotnet.com/jacky/archive/2007/02/04/96.aspx#comment</comments><slash:comments>2004</slash:comments><trackback:ping>http://blog.hidotnet.com/jacky/services/trackbacks/96.aspx</trackback:ping><source url="http://blog.hidotnet.com/jacky/rss.aspx">FFmpeg相关下载</source><description>FFmpeg&lt;br /&gt;
http://ffdshow.faireal.net/mirror/ffmpeg/&lt;br /&gt;
&lt;br /&gt;
pthread32&lt;br /&gt;
http://www.signal.uu.se/Toolbox/dream/download.html&lt;br /&gt;
ftp://sourceware.org/pub/pthreads-win32/&lt;img src="http://blog.hidotnet.com/jacky/aggbug/96.aspx" width="1" height="1" /&gt;</description><dc:creator>jacky</dc:creator></item><item><title>转换视频文件为flv媒体格式[转]</title><link>http://blog.hidotnet.com/jacky/archive/2007/02/04/95.aspx</link><pubDate>Sun, 04 Feb 2007 12:19:00 GMT</pubDate><guid isPermaLink="true">http://blog.hidotnet.com/jacky/archive/2007/02/04/95.aspx</guid><wfw:comment>http://blog.hidotnet.com/jacky/comments/95.aspx</wfw:comment><wfw:commentRss>http://blog.hidotnet.com/jacky/comments/commentRss/95.aspx</wfw:commentRss><comments>http://blog.hidotnet.com/jacky/archive/2007/02/04/95.aspx#comment</comments><slash:comments>1162</slash:comments><trackback:ping>http://blog.hidotnet.com/jacky/services/trackbacks/95.aspx</trackback:ping><source url="http://blog.hidotnet.com/jacky/rss.aspx">转换视频文件为flv媒体格式[转]</source><description>视频转换的方法找了不少,最后整个过程记录如下:&lt;br /&gt;
&lt;br /&gt;
转换环境: window2003&lt;br /&gt;
转换工具: FFMpeg&lt;br /&gt;
转换步骤:&lt;br /&gt;
1/ 从 http://ffdshow.faireal.net/mirror/ffmpeg/ 下载最新版本的 FFMpeg.exe (才知道.7z也是种压缩格式)&lt;br /&gt;
2/ 解压缩到本地c:\FFMpeg.&lt;br /&gt;
&lt;br /&gt;
3/ 转换视频文件Command Line格式:&lt;br /&gt;
转换视频:&lt;br /&gt;
ffmpeg.exe -i "e:\input\06.asf" "e:\output\06.mpg" //非flv格式&lt;br /&gt;
ffmpeg.exe -i "e:\input\06.asf" -y -ab 56 -ar 22050 -b 500 -r 15 -s 320*240 test.flv //Flv格式&lt;br /&gt;
视频抓图:&lt;br /&gt;
&lt;br /&gt;
ffmpeg.exe -i "e:\input\06.asf" -y -f image2 -t 0.001 -s 300*200 "e:\output\02.jpg" //获取静态图&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
ffmpeg.exe -i "e:\input\06.asf" -vframes 30 -y -f gif "e:\output\02.gif" //获取动态图&lt;br /&gt;
&lt;br /&gt;
4/ 转换为flv文件后,使用Flash编写客户端浏览工具:&lt;br /&gt;
4.1/ 新建fla文件,窗口-&amp;gt;组建-&amp;gt;把FLVPlayback拖拉到画布上.Alt+F7 Skin参数选择播放器外观.&lt;br /&gt;
4.2/ 选中FLVPlayback,属性-&amp;gt;参数里面把实例名字修改为 FFPlay.图层关键帧写入代码:&lt;br /&gt;
FFPlay.contentPath = FilePath;&lt;br /&gt;
5/ 嵌入网页的组建增加:&amp;lt;param name="FlashVars" value="FilePath=flv文件路径"&amp;gt;和embed里面增加:FlashVars="FilePath=flv文件路径" .前者是for ie的后者是for ff的.&lt;br /&gt;
&lt;br /&gt;
PS.&lt;br /&gt;
1/对ffmpeg无法解析的文件格式(WMV9,rm,rmvb),可以先用别的工具转换为avi或者mpg格式.&lt;br /&gt;
2/对转换为flv后,客户端工具播放没有时间轴的情况,需要使用 flvmdi.exe 把flv文件增加时间头信息,命令为:&lt;br /&gt;
&lt;br /&gt;
flvmdi.exe "filename.flv" /k&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
我也开始研究ffmpeg这个强大的转换工具了 &lt;br /&gt;
www.uume.com上传视频时应该也是用的这个 &lt;br /&gt;
刚试着把4M大的avi转成flv,结果flv的体积达到了7M之多,看来是命令行的参数不合适 &lt;br /&gt;
现转一些有用的东东 &lt;br /&gt;
&lt;strong&gt;部分参数说明&lt;/strong&gt; &lt;br /&gt;
ffmpeg.exe -i F:\闪客之家\闪客之歌.mp3 -ab 56 -ar 22050 -b 500 -r 15 -s 320x240 f:\11.flv &lt;br /&gt;
ffmpeg -i F:\01.wmv -ab 56 -ar 22050 -b 500 -r 15 -s 320x240 f:\test.flv &lt;br /&gt;
使用-ss参数 作用（time_off set the start time offset），可以从指定时间点开始转换任务。如: &lt;br /&gt;
转换文件格式的同时抓缩微图： &lt;br /&gt;
ffmpeg -i "test.avi" -y -f image2 -ss 8 -t 0.001 -s 350x240 'test.jpg' &lt;br /&gt;
对已有flv抓图： &lt;br /&gt;
ffmpeg -i "test.flv" -y -f image2 -ss 8 -t 0.001 -s 350x240 'test.jpg' &lt;br /&gt;
-ss后跟的时间单位为秒 &lt;br /&gt;
Ffmpeg转换命令 &lt;br /&gt;
ffmpeg -y -i test.mpeg -bitexact -vcodec h263 -b 128 -r 15 -s 176x144 -acodec aac -ac 2 -ar 22500 &lt;br /&gt;
-ab 24 -f 3gp test.3gp &lt;br /&gt;
或者 &lt;br /&gt;
ffmpeg -y -i test.mpeg -ac 1 -acodec amr_nb -ar 8000 -s 176x144 -b 128 -r 15 test.3gp &lt;br /&gt;
  &lt;br /&gt;
  &lt;br /&gt;
ffmpeg参数设定解说 &lt;br /&gt;
-bitexact 使用标准比特率 &lt;br /&gt;
-vcodec xvid 使用xvid压缩 &lt;br /&gt;
-s 320x240 指定分辨率 &lt;br /&gt;
-r 29.97 桢速率（可以改，确认非标准桢率会导致音画不同步，所以只能设定为15或者29.97） &lt;br /&gt;
画面部分，选其一 &lt;br /&gt;
-b &amp;lt;比特率&amp;gt; 指定压缩比特率，似乎ffmpeg是自动VBR的，指定了就大概是平均比特率，比如768，1500这样的 &lt;br /&gt;
就是原来默认项目中有的 &lt;br /&gt;
-qscale &amp;lt;数值&amp;gt; 以&amp;lt;数值&amp;gt;质量为基础的VBR，取值0.01-255，约小质量越好 &lt;br /&gt;
-qmin &amp;lt;数值&amp;gt; 设定最小质量，与-qmax（设定最大质量）共用，比如-qmin 10 -qmax 31 &lt;br /&gt;
-sameq 使用和源同样的质量 &lt;br /&gt;
声音部分 &lt;br /&gt;
-acodec aac 设定声音编码 &lt;br /&gt;
-ac &amp;lt;数值&amp;gt; 设定声道数，1就是单声道，2就是立体声，转换单声道的TVrip可以用1（节省一半容量），高品质 &lt;br /&gt;
的DVDrip就可以用2 &lt;br /&gt;
-ar &amp;lt;采样率&amp;gt; 设定声音采样率，PSP只认24000 &lt;br /&gt;
-ab &amp;lt;比特率&amp;gt; 设定声音比特率，前面-ac设为立体声时要以一半比特率来设置，比如192kbps的就设成96，转换 &lt;br /&gt;
君默认比特率都较小，要听到较高品质声音的话建议设到160kbps（80）以上 &lt;br /&gt;
-vol &amp;lt;百分比&amp;gt; 设定音量，某些DVDrip的AC3轨音量极小，转换时可以用这个提高音量，比如200就是原来的2倍 &lt;br /&gt;
这样，要得到一个高画质音质低容量的MP4的话，首先画面最好不要用固定比特率，而用VBR参数让程序自己去 &lt;br /&gt;
判断，而音质参数可以在原来的基础上提升一点，听起来要舒服很多，也不会太大（看情况调整 &lt;br /&gt;
  &lt;br /&gt;
  &lt;br /&gt;
例子：ffmpeg -y -i "1.avi" -title "Test" -vcodec xvid -s 368x208 - r 29.97 -b 1500 -acodec aac -ac 2 -ar 24000 -ab 128 -vol 200 -f psp -muxvb 768 "1.***" &lt;br /&gt;
&lt;br /&gt;
解释：以上命令可以在Dos命令行中输入，也可以创建到批处理文件中运行。不过，前提是：要在ffmpeg所在的目录中执行（转换君所在目录下面的cores子目录）。 &lt;br /&gt;
参数： &lt;br /&gt;
-y（覆盖输出文件，即如果1.***文件已经存在的话，不经提示就覆盖掉了） &lt;br /&gt;
-i "1.avi"（输入文件是和ffmpeg在同一目录下的1.avi文件，可以自己加路径，改名字） &lt;br /&gt;
-title "Test"（在PSP中显示的影片的标题） &lt;br /&gt;
-vcodec xvid（使用XVID编码压缩视频，不能改的） &lt;br /&gt;
-s 368x208（输出的分辨率为368x208，注意片源一定要是16:9的不然会变形） &lt;br /&gt;
-r 29.97（帧数，一般就用这个吧） &lt;br /&gt;
-b 1500（视频数据流量，用-b xxxx的指令则使用固定码率，数字随便改，1500以上没效果；还可以用动态码率如：-qscale 4和-qscale 6，4的质量比6高） &lt;br /&gt;
-acodec aac（音频编码用AAC） &lt;br /&gt;
-ac 2（声道数1或2） &lt;br /&gt;
-ar 24000（声音的采样频率，好像PSP只能支持24000Hz） &lt;br /&gt;
-ab 128（音频数据流量，一般选择32、64、96、128） &lt;br /&gt;
-vol 200（200%的音量，自己改） &lt;br /&gt;
-f psp（输出psp专用格式） &lt;br /&gt;
-muxvb 768（好像是给PSP机器识别的码率，一般选择384、512和768，我改成1500，PSP就说文件损坏了） &lt;br /&gt;
"1.***"（输出文件名，也可以加路径改文件名） &lt;br /&gt;
&lt;br /&gt;
P.S. 版主机器强劲的话，可以多开几个批处理文件，让它们并行处理。 &lt;br /&gt;
E:\ffmpeg.exe -i I:\1.wmv -b 360 -r 25 -s 320x240 -hq -deinterlace -ab 56 -ar 22050 -ac 1 D:\2.flv &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;p&gt;下边是截图CatchImg方法,可从大多数的视频文件中截图成功,大家可测试;&lt;br /&gt;
如果截图不成功,大多是因为视频本身的问题,如编码标准或加了密.&lt;br /&gt;
但从在线录制的视频Flv文件中截图,还未发现截图失败;&lt;/p&gt;
&lt;p&gt;/// &amp;lt;summary&amp;gt;&lt;br /&gt;
/// @从视频文件截图,生成在视频文件所在文件夹&lt;br /&gt;
/// 在Web.Config 中需要两个前置配置项:&lt;br /&gt;
/// 1.ffmpeg.exe文件的路径&lt;br /&gt;
/// &amp;lt;add key="ffmpeg" value="E:\ffmpeg\ffmpeg.exe" /&amp;gt;&lt;br /&gt;
/// 2.截图的尺寸大小&lt;br /&gt;
/// &amp;lt;add key="CatchFlvImgSize" value="240x180" /&amp;gt;&lt;br /&gt;
/// 3.视频处理程序ffmpeg.exe&lt;br /&gt;
/// &amp;lt;/summary&amp;gt;&lt;br /&gt;
/// &amp;lt;param name="vFileName"&amp;gt;视频文件地址,如:/Web/FlvFile/User1/00001.Flv&amp;lt;/param&amp;gt;&lt;br /&gt;
/// &amp;lt;returns&amp;gt;成功:返回图片虚拟地址; 失败:返回空字符串&amp;lt;/returns&amp;gt;&lt;br /&gt;
public string CatchImg(string vFileName)&lt;br /&gt;
{&lt;br /&gt;
//取得ffmpeg.exe的路径,路径配置在Web.Config中,如:&amp;lt;add key="ffmpeg" value="E:\ffmpeg\ffmpeg.exe" /&amp;gt;&lt;br /&gt;
string ffmpeg=System.Configuration.ConfigurationSettings.AppSettings["ffmpeg"];&lt;/p&gt;
&lt;p&gt;if ( (!System.IO.File.Exists(ffmpeg)) || (!System.IO.File.Exists(vFileName)) )&lt;br /&gt;
{&lt;br /&gt;
return "";&lt;br /&gt;
}&lt;/p&gt;
&lt;p&gt;//获得图片相对路径/最后存储到数据库的路径,如:/Web/FlvFile/User1/00001.jpg&lt;br /&gt;
string flv_img = System.IO.Path.ChangeExtension(vFileName,".jpg") ;&lt;/p&gt;
&lt;p&gt;//图片绝对路径,如:D:\Video\Web\FlvFile\User1\0001.jpg&lt;br /&gt;
string flv_img_p = HttpContext.Current.Server.MapPath(flv_img);&lt;/p&gt;
&lt;p&gt;//截图的尺寸大小,配置在Web.Config中,如:&amp;lt;add key="CatchFlvImgSize" value="240x180" /&amp;gt;&lt;br /&gt;
string FlvImgSize=System.Configuration.ConfigurationSettings.AppSettings["CatchFlvImgSize"];&lt;/p&gt;
&lt;p&gt;System.Diagnostics.ProcessStartInfo startInfo = new System.Diagnostics.ProcessStartInfo(ffmpeg);&lt;br /&gt;
startInfo.WindowStyle = System.Diagnostics.ProcessWindowStyle.Hidden; &lt;/p&gt;
&lt;p&gt;//此处组合成ffmpeg.exe文件需要的参数即可,此处命令在ffmpeg 0.4.9调试通过&lt;br /&gt;
startInfo.Arguments = " -i " + vFileName + " -y -f image2 -t 0.001 -s " + FlvImgSize + " " + flv_img_p ;&lt;/p&gt;
&lt;p&gt;try &lt;br /&gt;
{&lt;br /&gt;
System.Diagnostics.Process.Start(startInfo);&lt;br /&gt;
}&lt;br /&gt;
catch&lt;br /&gt;
{&lt;br /&gt;
return "";&lt;br /&gt;
}&lt;/p&gt;
&lt;p&gt;///注意:图片截取成功后,数据由内存缓存写到磁盘需要时间较长,大概在3,4秒甚至更长;&lt;br /&gt;
///这儿需要延时后再检测,我服务器延时8秒,即如果超过8秒图片仍不存在,认为截图失败;&lt;br /&gt;
///此处略去延时代码.如有那位知道如何捕捉ffmpeg.exe截图失败消息,请告知,先谢过!&lt;br /&gt;
if ( System.IO.File.Exists(flv_img_p))&lt;br /&gt;
{&lt;br /&gt;
return flv_img;                                             &lt;br /&gt;
}&lt;/p&gt;
&lt;p&gt;return "";&lt;br /&gt;
}&lt;/p&gt;
&lt;p&gt;顺便也探讨个问题,就是我无法从ffmpeg.exe捕捉截图失败消息~&lt;br /&gt;
不知大家可否有办法取得,我目前只能通过检测图片是否生成来判断成功与否,但时间较慢,因为这个检测程序就让用户要多等大概4,5秒时间.。&lt;/p&gt;&lt;img src="http://blog.hidotnet.com/jacky/aggbug/95.aspx" width="1" height="1" /&gt;</description><dc:creator>jacky</dc:creator></item><item><title>安装Visual Studio 2005 Service Pack 1</title><link>http://blog.hidotnet.com/venjiang/archive/2006/12/18/78.aspx</link><pubDate>Sun, 17 Dec 2006 19:02:50 GMT</pubDate><guid isPermaLink="true">http://blog.hidotnet.com/venjiang/archive/2006/12/18/78.aspx</guid><wfw:comment>http://blog.hidotnet.com/venjiang/comments/78.aspx</wfw:comment><wfw:commentRss>http://blog.hidotnet.com/venjiang/comments/commentRss/78.aspx</wfw:commentRss><comments>http://blog.hidotnet.com/venjiang/archive/2006/12/18/78.aspx#comment</comments><slash:comments>848</slash:comments><trackback:ping>http://blog.hidotnet.com/venjiang/services/trackbacks/78.aspx</trackback:ping><source url="http://blog.hidotnet.com/venjiang/rss.aspx">安装Visual Studio 2005 Service Pack 1</source><description>前几日jacky告诉我vs2k5 sp1出了,随即下载.今日抽空赶紧安装.&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;
&lt;br /&gt;
准备环境:&lt;/span&gt;&lt;br /&gt;
Microsoft? Visual Studio? 2005 Service Pack 1&lt;br /&gt;
&lt;br /&gt;
下面为中文版&lt;br /&gt;
下载地址:&lt;br /&gt;
Microsoft? Visual Studio? 2005 Service Pack 1&lt;br /&gt;
下载地址:&lt;br /&gt;
http://www.microsoft.com/downloads/details.aspx?FamilyID=bb4a75ab-e2d4-4c96-b39d-37baf6b5b1dc&amp;amp;DisplayLang=zh-cn&lt;br /&gt;
&lt;br /&gt;
&lt;span&gt;
&lt;li&gt;&lt;strong&gt;安装要求：&lt;/strong&gt;
&lt;ul&gt;
    &lt;li&gt;目标计算机上必须安装了受支持的 Visual Studio® 2005 产品副本。&lt;/li&gt;
    &lt;li&gt;目标计算机上安装了 Microsoft® Windows® Installer 3.1 或更高版本。&lt;/li&gt;
    &lt;li&gt;至少 192MB 的 RAM。建议使用 256MB 或更大内存。&lt;/li&gt;
    &lt;li&gt;硬盘空间至少为 6.2GB
    &lt;ul&gt;
        &lt;li&gt;如果目标计算机上安装了多个 Visual Studio® 2005 产品，硬盘空间要求也会相应大大增加。&lt;/li&gt;
    &lt;/ul&gt;
    &lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style="color: rgb(255, 0, 0);"&gt;安装可能出现问题解决办法:&lt;/span&gt;&lt;br /&gt;
http://support.microsoft.com/kb/925336  &lt;br /&gt;
&lt;br /&gt;
几个朋友提示安装过程费了些周折,为避免安装出现问题,请按上面的方法,先修改本地安全策略.&lt;br /&gt;
M$这个要求有6G空间,这个实在有些愁人,一些朋友也因空间问题安装出错,抓紧整理我的硬盘空间,但资料实在太多,一时半日无法整理出6G空间.一个补丁400M,干嘛要求这么多空间,M$不是在折腾我们嘛. 决定尝试安装.&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-weight: bold;"&gt;安装前环境:&lt;br /&gt;
&lt;/span&gt;剩余空间:&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;
&lt;/span&gt;C: 3.88G&lt;br /&gt;
D: 3.57G&lt;br /&gt;
&lt;br /&gt;
Visual Studio 2005 安装在D盘,临时文件夹在C盘,如果你有修改系统临时文件夹路径,确保所在盘有足够空间.&lt;br /&gt;
Visual Studio 2005我是重新安装的,没有安装VB,VC++,其余都有安装.上面所列硬盘空间容量为安装VS2005后剩余.&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-weight: bold;"&gt;安装过程中:&lt;br /&gt;
&lt;/span&gt;剩余空间:&lt;br /&gt;
C: 2.54G &lt;br /&gt;
临时文件写入,然后开始收集信息,过程比较漫长.这个时间你可以去看电视了.或者干脆小睡一会儿,不知道M$花这么长时间收集什么,小心把电脑里的MM搜集走. 在这个过程中,临时文件夹写入450多M,C盘其它地方写入不到1G, 任务管理器查看,整个SP1补丁被全部载入内存,安装程序占用CPU 50%左右.为避免出现什么异外,建议不要开太多程序.&lt;br /&gt;
&lt;img src="http://blog.hidotnet.com/images/blog_hidotnet_com/venjiang/12/r_Install1.jpg" alt="" /&gt;&lt;br /&gt;
&lt;br /&gt;
搜集完信息,开始安装....&lt;br /&gt;
&lt;img src="http://blog.hidotnet.com/images/blog_hidotnet_com/venjiang/12/r_Install2.jpg" alt="" /&gt;&lt;br /&gt;
这个时间不准确,可以去抽颗烟,喝杯咖啡.&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-weight: bold;"&gt;安装完成后:&lt;/span&gt;&lt;br /&gt;
剩余空间:&lt;br /&gt;
C: 2.98G&lt;br /&gt;
D: 3.56G&lt;br /&gt;
&lt;img src="http://blog.hidotnet.com/images/blog_hidotnet_com/venjiang/12/r_Install3.jpg" alt="" /&gt;&lt;br /&gt;
&lt;br /&gt;
VS2005版本&lt;br /&gt;
&lt;img src="http://blog.hidotnet.com/images/blog_hidotnet_com/venjiang/12/r_Install4.jpg" alt="" /&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-weight: bold;"&gt;总结:&lt;/span&gt;&lt;br /&gt;
整个过程安装比较顺利,可以看到在搜集信息时,C盘写入1.34G,安装完成后,删除了临时文件,减少450M,D盘,也就是VS2005所在文件夹写入信息并不多.这样看来,如果只安装C#版本的VS,打补丁,C盘有1.5G应该足够了,VS2005安装所在目录并不需要太多空间.当然,如果你的VS2005安装的组件比较多的话,相应空间要求会提高不少.但至少6G这个要求并不是必须的.&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-weight: bold;"&gt;测试:&lt;/span&gt;&lt;br /&gt;
终于可以在中文版上运行Web Application Project了.&lt;br /&gt;
新建:&lt;br /&gt;
&lt;img src="http://blog.hidotnet.com/images/blog_hidotnet_com/venjiang/12/r_Install5.jpg" alt="" /&gt;&lt;br /&gt;
&lt;br /&gt;
项目解决方案:&lt;br /&gt;
&lt;img src="http://blog.hidotnet.com/images/blog_hidotnet_com/venjiang/12/r_Install6.jpg" alt="" /&gt;&lt;br /&gt;
&lt;br /&gt;
编译:&lt;br /&gt;
&lt;img src="http://blog.hidotnet.com/images/blog_hidotnet_com/venjiang/12/r_Install7.jpg" alt="" /&gt;&lt;br /&gt;
&lt;br /&gt;
运行:&lt;br /&gt;
&lt;img src="http://blog.hidotnet.com/images/blog_hidotnet_com/venjiang/12/r_Install8.jpg" alt="" /&gt;&lt;br /&gt;
&lt;br /&gt;
另.打开先前M$提供的Web Application Project 项目,可以成功加载.&lt;br /&gt;
&lt;br /&gt;
至此,Visual Studio? 2005 Service Pack 1安装完毕.&lt;br /&gt;
&lt;img src="/Providers/BlogEntryEditor/FCKeditor/editor/images/smiley/msn/wink_smile.gif" alt="" /&gt;&lt;img src="http://blog.hidotnet.com/venjiang/aggbug/78.aspx" width="1" height="1" /&gt;</description><dc:creator>venjiang</dc:creator></item><item><title>Sharepoint v3, 如何设置Forms验证模式</title><link>http://blog.hidotnet.com/ben/archive/2006/11/23/71.aspx</link><pubDate>Thu, 23 Nov 2006 07:50:56 GMT</pubDate><guid isPermaLink="true">http://blog.hidotnet.com/ben/archive/2006/11/23/71.aspx</guid><wfw:comment>http://blog.hidotnet.com/ben/comments/71.aspx</wfw:comment><wfw:commentRss>http://blog.hidotnet.com/ben/comments/commentRss/71.aspx</wfw:commentRss><comments>http://blog.hidotnet.com/ben/archive/2006/11/23/71.aspx#comment</comments><slash:comments>941</slash:comments><trackback:ping>http://blog.hidotnet.com/ben/services/trackbacks/71.aspx</trackback:ping><source url="http://blog.hidotnet.com/ben/rss.aspx">Sharepoint v3, 如何设置Forms验证模式</source><description>&lt;p style="background: white"&gt;&lt;span style="font-family:宋体"&gt;&lt;span style="font-size:9pt"&gt;&lt;span style="color:gray"&gt;*from link: &lt;a href="http://www.bentan.cn/Blog/Lists/Posts/Post.aspx?ID=2" /&gt;&lt;/span&gt;&lt;span style="color:#6fbc4c; text-decoration:underline"&gt;http://www.bentan.cn/Blog/Lists/Posts/Post.aspx?ID=2&lt;/span&gt;&lt;span style="color:gray"&gt;&lt;br /&gt;*作者: Ben, &lt;a href="mailto:benjamine65@hotmail.com"&gt;&lt;span style="text-decoration:underline"&gt;benjamine65@hotmail.com&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#4b4b4b; font-size:12pt"&gt;
			&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="background: white"&gt;&lt;span style="font-family:宋体"&gt;&lt;span style="color:gray; font-size:9pt"&gt;*参考网站: &lt;a href="http://www.bentan.cn/"&gt;&lt;span style="text-decoration:underline"&gt;http://www.bentan.cn&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;span style="color:#4b4b4b; font-size:12pt"&gt;
			&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="background: white"&gt;&lt;span style="font-family:宋体"&gt;&lt;span style="color:gray; font-size:9pt"&gt;*本文使用Windows Sharepoint Services v3 beta 2英文版, 版本号: 12.0.0.4017&lt;/span&gt;&lt;span style="color:#4b4b4b; font-size:12pt"&gt;
			&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="background: white"&gt; 
 &lt;/p&gt;&lt;p style="background: white"&gt;&lt;span style="color:#4b4b4b; font-family:宋体"&gt;&lt;span style="font-size:9pt"&gt;众所周知, Sharepoint3在同系列Office 2007 beta2出来的时候已经被推出了. 其中它的新feature包括支持工作流WWF; 支持Blog等Web2网站; 支持RSS订阅; 支持Mobile设备访问等, 无论在性能上还是服务架构上设计都有所提高. 但今天要谈的并不是她这些方面的特性, 而是作者在Sharepoint2梦寐的功能: 支持Forms验证.&lt;/span&gt;&lt;span style="font-size:12pt"&gt;
			&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="background: white; margin-left: 11pt"&gt;&lt;span style="color:#4b4b4b"&gt;&lt;strong&gt;&lt;span style="font-family:宋体; font-size:9pt"&gt;1&lt;/span&gt;&lt;span style="font-family:Times New Roman; font-size:7pt"&gt;    &lt;/span&gt;&lt;/strong&gt;&lt;span style="font-family:宋体"&gt;&lt;span style="font-size:9pt"&gt;&lt;strong&gt;简介如何安装Sharepoint v3&lt;/strong&gt;&lt;/span&gt;&lt;span style="font-size:12pt"&gt;
				&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="background: white"&gt;&lt;span style="color:#4b4b4b; font-family:宋体; font-size:12pt"&gt;准备的安装软件:
&lt;/span&gt;&lt;/p&gt;&lt;p style="background: white; margin-left: 42pt"&gt;&lt;span style="color:#4b4b4b"&gt;&lt;span style="font-family:Wingdings; font-size:9pt"&gt;&lt;/span&gt;&lt;span style="font-family:Times New Roman; font-size:7pt"&gt;          &lt;/span&gt;&lt;span style="font-family:宋体"&gt;&lt;span style="font-size:9pt"&gt;Sharepoint v3 Beta2安装程序&lt;/span&gt;&lt;span style="font-size:12pt"&gt;
				&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="background: white; margin-left: 42pt"&gt;&lt;span style="color:#4b4b4b"&gt;&lt;span style="font-family:Wingdings; font-size:9pt"&gt;&lt;/span&gt;&lt;span style="font-family:Times New Roman; font-size:7pt"&gt;          &lt;/span&gt;&lt;span style="font-family:宋体"&gt;&lt;span style="font-size:9pt"&gt;(如果是标准安装可以忽略)SQL Server 2005 (作者使用的是EXPRESS版本)&lt;/span&gt;&lt;span style="font-size:12pt"&gt;
				&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="background: white; margin-left: 42pt"&gt;&lt;span style="color:#4b4b4b"&gt;&lt;span style="font-family:Wingdings; font-size:9pt"&gt;&lt;/span&gt;&lt;span style="font-family:Times New Roman; font-size:7pt"&gt;          &lt;/span&gt;&lt;span style="font-family:宋体"&gt;&lt;span style="font-size:9pt"&gt;WWF Components Beta 2.2&lt;/span&gt;&lt;span style="font-size:12pt"&gt;
				&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="background: white"&gt;&lt;span style="color:#4b4b4b; font-family:宋体"&gt;&lt;span style="font-size:9pt"&gt;安装环境需求:&lt;/span&gt;&lt;span style="font-size:12pt"&gt;
			&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="background: white"&gt;&lt;span style="color:#4b4b4b; font-family:宋体"&gt;&lt;span style="font-size:9pt"&gt;     (请参考微软相关网站介绍)&lt;/span&gt;&lt;span style="font-size:12pt"&gt;
			&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="background: white"&gt;&lt;span style="color:#4b4b4b; font-family:宋体"&gt;&lt;span style="font-size:9pt"&gt;安装步骤:&lt;/span&gt;&lt;span style="font-size:12pt"&gt;
			&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="background: white"&gt;&lt;span style="color:#4b4b4b; font-family:宋体"&gt;&lt;span style="font-size:9pt"&gt;     A. (如果是标准安装可以忽略)安装SQL Server 2005&lt;/span&gt;&lt;span style="font-size:12pt"&gt;
			&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="background: white"&gt;&lt;span style="color:#4b4b4b; font-family:宋体"&gt;&lt;span style="font-size:9pt"&gt;     B. 安装WWF Component&lt;/span&gt;&lt;span style="font-size:12pt"&gt;
			&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="background: white"&gt;&lt;span style="color:#4b4b4b; font-family:宋体"&gt;&lt;span style="font-size:9pt"&gt;     C. 运行Sharepoint v3安装向导step by step直至完成安装(本文是根据Advanced方式安装)&lt;/span&gt;&lt;span style="font-size:12pt"&gt;
			&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="background: white"&gt; 
 &lt;/p&gt;&lt;p style="background: white; margin-left: 11pt"&gt;&lt;span style="color:#4b4b4b"&gt;&lt;strong&gt;&lt;span style="font-family:宋体; font-size:9pt"&gt;2&lt;/span&gt;&lt;span style="font-family:Times New Roman; font-size:7pt"&gt;    &lt;/span&gt;&lt;/strong&gt;&lt;span style="font-family:宋体"&gt;&lt;span style="font-size:9pt"&gt;&lt;strong&gt;配置Sharepoint 3.0 Central Administration网站&lt;/strong&gt;&lt;/span&gt;&lt;span style="font-size:12pt"&gt;
				&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="background: white; margin-left: 11pt"&gt;&lt;span style="color:#4b4b4b"&gt;&lt;span style="font-family:宋体; font-size:9pt"&gt;2.1&lt;/span&gt;&lt;span style="font-family:Times New Roman; font-size:7pt"&gt;     &lt;/span&gt;&lt;span style="font-family:宋体"&gt;&lt;span style="font-size:9pt"&gt;从"管理工具"点击SharePoint 3.0 Central Administration图标进入&lt;/span&gt;&lt;span style="font-size:12pt"&gt;
				&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="background: white; margin-left: 11pt"&gt;&lt;span style="color:#4b4b4b"&gt;&lt;span style="font-family:宋体; font-size:9pt"&gt;2.2&lt;/span&gt;&lt;span style="font-family:Times New Roman; font-size:7pt"&gt;     &lt;/span&gt;&lt;span style="font-family:宋体"&gt;&lt;span style="font-size:9pt"&gt;因为第一次运行SharePoint 3.0 Central Administration, 会有提示出现, 这里要按向导完成SharePoint 3.0 Central Administration网站的创建.&lt;/span&gt;&lt;span style="font-size:12pt"&gt;
				&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="background: white; margin-left: 11pt"&gt; 
 &lt;/p&gt;&lt;p style="background: white; margin-left: 11pt"&gt;&lt;span style="font-family:宋体"&gt;&lt;span style="color:gray; font-size:9pt"&gt;* 这里需要注意的,如果你之前安装而又删除了Sharepoint 3.0的其它beta版本, 或者相同的beta版本, 在此向导最后一步的创建SharePoint 3.0 Central Administration网站数据库时会出现the language is not supported on the server的错误. 这是因为删除时将注册表的语言key值给删除了, 要将以下存成.reg文件, 并执行合并到注册表:&lt;/span&gt;&lt;span style="color:#4b4b4b; font-size:12pt"&gt;
			&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;div style="margin-left: 14pt"&gt;&lt;table style="border-collapse:collapse" border="0"&gt;&lt;colgroup&gt;&lt;col style="width:549px" /&gt;&lt;/colgroup&gt;&lt;tbody valign="top"&gt;&lt;tr&gt;&lt;td style="padding-left: 7px; padding-right: 7px; border-top:  solid 1.0pt; border-left:  solid 1.0pt; border-bottom:  solid 1.0pt; border-right:  solid 1.0pt"&gt;&lt;p&gt;&lt;span style="font-family:宋体"&gt;&lt;span style="color:gray; font-size:9pt"&gt;Windows Registry Editor Version 5.00&lt;/span&gt;&lt;span style="font-size:12pt"&gt;
								&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:宋体"&gt;&lt;span style="color:gray; font-size:9pt"&gt;[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Shared Tools\Web Server Extensions\12.0\ServerLanguage]&lt;/span&gt;&lt;span style="font-size:12pt"&gt;
								&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="color:gray; font-family:宋体; font-size:9pt"&gt;"1033"=""&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;p style="background: white"&gt; 
 &lt;/p&gt;&lt;p style="background: white; margin-left: 11pt"&gt;&lt;span style="color:#4b4b4b"&gt;&lt;strong&gt;&lt;span style="font-family:宋体; font-size:9pt"&gt;3&lt;/span&gt;&lt;span style="font-family:Times New Roman; font-size:7pt"&gt;    &lt;/span&gt;&lt;/strong&gt;&lt;span style="font-family:宋体"&gt;&lt;span style="font-size:9pt"&gt;&lt;strong&gt;创建Web Application&lt;/strong&gt;&lt;/span&gt;&lt;span style="font-size:12pt"&gt;
				&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="background: white; margin-left: 11pt"&gt;&lt;span style="color:#4b4b4b"&gt;&lt;span style="font-family:宋体; font-size:9pt"&gt;3.1&lt;/span&gt;&lt;span style="font-family:Times New Roman; font-size:7pt"&gt;     &lt;/span&gt;&lt;span style="font-family:宋体"&gt;&lt;span style="font-size:9pt"&gt;进入SharePoint 3.0 Central Administration&lt;/span&gt;&lt;span style="font-size:12pt"&gt;
				&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="background: white; margin-left: 11pt"&gt;&lt;span style="color:#4b4b4b"&gt;&lt;span style="font-family:宋体; font-size:9pt"&gt;3.2&lt;/span&gt;&lt;span style="font-family:Times New Roman; font-size:7pt"&gt;       &lt;/span&gt;&lt;span style="font-family:宋体"&gt;&lt;span style="font-size:9pt"&gt;进入Application Management 配置页面&lt;/span&gt;&lt;span style="font-size:12pt"&gt;
				&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="background: white; margin-left: 11pt"&gt;&lt;span style="color:#4b4b4b"&gt;&lt;span style="font-family:宋体; font-size:9pt"&gt;3.3&lt;/span&gt;&lt;span style="font-family:Times New Roman; font-size:7pt"&gt;     &lt;/span&gt;&lt;span style="font-family:宋体"&gt;&lt;span style="font-size:9pt"&gt;在SharePoint Web Application Management类下点击Create or extend Web application进行创建Web application. 这一步骤是自动在IIS上创建一个Sharepoint网站目录,或者扩展现有的IIS网站目录&lt;/span&gt;&lt;span style="font-size:12pt"&gt;
				&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="background: white"&gt; 
 &lt;/p&gt;&lt;p style="background: white; margin-left: 11pt"&gt;&lt;span style="color:#4b4b4b"&gt;&lt;strong&gt;&lt;span style="font-family:宋体; font-size:9pt"&gt;4&lt;/span&gt;&lt;span style="font-family:Times New Roman; font-size:7pt"&gt;    &lt;/span&gt;&lt;/strong&gt;&lt;span style="font-family:宋体"&gt;&lt;span style="font-size:9pt"&gt;&lt;strong&gt;设置Forms验证 (两步曲)&lt;/strong&gt;&lt;/span&gt;&lt;span style="font-size:12pt"&gt;
				&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="background: white; margin-left: 11pt"&gt;&lt;span style="color:#333399"&gt;&lt;span style="font-family:宋体; font-size:9pt"&gt;4.1&lt;/span&gt;&lt;span style="font-family:Times New Roman; font-size:7pt"&gt;     &lt;/span&gt;&lt;span style="font-family:宋体; font-size:9pt"&gt;在SharePoint 3.0 Central Administration设置&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#4b4b4b; font-family:宋体; font-size:12pt"&gt;
		&lt;/span&gt;&lt;/p&gt;&lt;p style="background: white; margin-left: 11pt"&gt;&lt;span style="color:#4b4b4b"&gt;&lt;span style="font-family:宋体; font-size:9pt"&gt;4.1.1&lt;/span&gt;&lt;span style="font-family:Times New Roman; font-size:7pt"&gt;             &lt;/span&gt;&lt;span style="font-family:宋体"&gt;&lt;span style="font-size:9pt"&gt;进入:&lt;/span&gt;&lt;span style="font-size:12pt"&gt;
				&lt;/span&gt;&lt;span style="font-size:9pt"&gt;Central Administration &amp;gt; Application Management &amp;gt; Authentication Providers.&lt;/span&gt;&lt;span style="font-size:12pt"&gt;
				&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="background: white; margin-left: 11pt"&gt;&lt;span style="color:#4b4b4b"&gt;&lt;span style="font-family:宋体; font-size:9pt"&gt;4.1.2&lt;/span&gt;&lt;span style="font-family:Times New Roman; font-size:7pt"&gt;             &lt;/span&gt;&lt;span style="font-family:宋体"&gt;&lt;span style="font-size:9pt"&gt;选择你要设置的Web application&lt;/span&gt;&lt;span style="font-size:12pt"&gt;
				&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="background: white; margin-left: 11pt"&gt;&lt;span style="color:#4b4b4b"&gt;&lt;span style="font-family:宋体; font-size:9pt"&gt;4.1.3&lt;/span&gt;&lt;span style="font-family:Times New Roman; font-size:7pt"&gt;             &lt;/span&gt;&lt;span style="font-family:宋体"&gt;&lt;span style="font-size:9pt"&gt;providers列表中只有一项membership provider, 这membership provider与ASP.NET 2的membership provider是相同概念. 现在Sharepoint v3默认的membership provider是Windows验证方式, 点击Windows列表链接可以进入设置.&lt;/span&gt;&lt;span style="font-size:12pt"&gt;
				&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="background: white; margin-left: 11pt"&gt;&lt;span style="color:#4b4b4b"&gt;&lt;span style="font-family:宋体; font-size:9pt"&gt;4.1.4&lt;/span&gt;&lt;span style="font-family:Times New Roman; font-size:7pt"&gt;             &lt;/span&gt;&lt;span style="font-family:宋体"&gt;&lt;span style="font-size:9pt"&gt;在Edit Authentication页面里, 设置Authentication Type项为Forms;如果允许匿名访问的就在将Anonymous Access项的Enable anonymous access的选项打上钩;&lt;/span&gt;&lt;span style="font-size:12pt"&gt;
				&lt;/span&gt;&lt;span style="font-size:9pt"&gt;Membership Provider Name项目值为:&lt;/span&gt;&lt;span style="font-size:12pt"&gt;
				&lt;/span&gt;&lt;span style="font-size:9pt"&gt;AspNetSqlMembershipProvider, 然后按Save保存设置.&lt;/span&gt;&lt;span style="font-size:12pt"&gt;
				&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="background: white; margin-left: 11pt"&gt;&lt;span style="color:#4b4b4b"&gt;&lt;span style="font-family:宋体; font-size:9pt"&gt;4.2&lt;/span&gt;&lt;span style="font-family:Times New Roman; font-size:7pt"&gt;       &lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:宋体"&gt;&lt;span style="color:#333399; font-size:9pt"&gt;修改SharePoint 3.0 Central Administration的Web.config.&lt;/span&gt;&lt;span style="color:#4b4b4b"&gt;&lt;span style="font-size:9pt"&gt; 因为将会在下一步骤创建site collection时要选择site collection的管理员, 所以要配置一下membership的数据库路径: 将&lt;/span&gt;&lt;span style="font-size:12pt"&gt;
				&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;div style="margin-left: 14pt"&gt;&lt;table style="border-collapse:collapse" border="0"&gt;&lt;colgroup&gt;&lt;col style="width:549px" /&gt;&lt;/colgroup&gt;&lt;tbody valign="top"&gt;&lt;tr&gt;&lt;td style="padding-left: 7px; padding-right: 7px; border-top:  solid 1.0pt; border-left:  solid 1.0pt; border-bottom:  solid 1.0pt; border-right:  solid 1.0pt"&gt;&lt;p&gt;&lt;span style="font-family:Verdana; font-size:8pt"&gt;&lt;span style="color:blue"&gt;  &amp;lt;&lt;/span&gt;&lt;span style="color:maroon"&gt;connectionStrings&lt;/span&gt;&lt;span style="color:blue"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:宋体; font-size:12pt"&gt;
							&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:Verdana; font-size:8pt"&gt;&lt;span style="color:blue"&gt;    &amp;lt;&lt;/span&gt;&lt;span style="color:maroon"&gt;remove&lt;/span&gt;&lt;span style="color:blue"&gt;
								&lt;/span&gt;&lt;span style="color:red"&gt;name&lt;/span&gt;&lt;span style="color:blue"&gt;=&lt;/span&gt;"&lt;span style="color:blue"&gt;LocalSqlServer&lt;/span&gt;"&lt;span style="color:blue"&gt; /&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:宋体; font-size:12pt"&gt;
							&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size:8pt"&gt;&lt;span style="color:blue; font-family:Verdana"&gt;    &amp;lt;&lt;/span&gt;&lt;span style="color:maroon; font-family:Verdana"&gt;add&lt;/span&gt;&lt;span style="color:blue; font-family:Verdana"&gt;
								&lt;/span&gt;&lt;span style="color:red; font-family:Verdana"&gt;name&lt;/span&gt;&lt;span style="color:blue; font-family:Verdana"&gt;=&lt;/span&gt;&lt;span style="font-family:Verdana"&gt;"&lt;span style="color:blue"&gt;LocalSqlServer&lt;/span&gt;"&lt;span style="color:blue"&gt;
									&lt;/span&gt;&lt;span style="color:red"&gt;connectionString&lt;/span&gt;&lt;span style="color:blue"&gt;=&lt;/span&gt;"&lt;span style="color:blue"&gt;Data Source=&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:宋体"&gt;数据库服务器地址&lt;/span&gt;&lt;span style="color:blue"&gt;&lt;span style="font-family:Verdana"&gt;;database=&lt;/span&gt;&lt;span style="font-family:宋体"&gt;步骤&lt;/span&gt;&lt;span style="font-family:Verdana"&gt;2&lt;/span&gt;&lt;span style="font-family:宋体"&gt;创建的&lt;/span&gt;&lt;span style="font-family:Verdana"&gt;Central Administration&lt;/span&gt;&lt;span style="font-family:宋体"&gt;网站数据库名&lt;/span&gt;&lt;span style="font-family:Verdana"&gt;;uid=&lt;/span&gt;&lt;span style="font-family:宋体"&gt;登录用户名&lt;/span&gt;&lt;span style="font-family:Verdana"&gt;;pwd=&lt;/span&gt;&lt;span style="font-family:宋体"&gt;数据库登录密码&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:Verdana"&gt;"&lt;span style="color:blue"&gt; /&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:宋体; font-size:12pt"&gt;
							&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:Verdana; font-size:8pt"&gt;&lt;span style="color:blue"&gt;  &amp;lt;/&lt;/span&gt;&lt;span style="color:maroon"&gt;connectionStrings&lt;/span&gt;&lt;span style="color:blue"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;p style="background: white; margin-left: 9pt"&gt;&lt;span style="color:#4b4b4b; font-family:宋体; font-size:9pt"&gt;加在Web.config的&lt;/span&gt;&lt;span style="font-family:Verdana; font-size:8pt"&gt;&lt;span style="color:blue"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:maroon"&gt;configuration&lt;/span&gt;&lt;span style="color:blue"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#4b4b4b; font-family:宋体"&gt;&lt;span style="font-size:9pt"&gt;键下.&lt;/span&gt;&lt;span style="font-size:12pt"&gt;
			&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="background: white; margin-left: 9pt"&gt; 
 &lt;/p&gt;&lt;p style="background: white; margin-left: 9pt"&gt;&lt;span style="font-family:宋体"&gt;&lt;span style="color:gray; font-size:9pt"&gt;* 因为ASP.NET 2中Web.config默认的forms membership provider是AspNetSqlMembershipProvider, 而AspNetSqlMembershipProvider使用的SQL链接地址默认是LocalSqlServer的Connection String.&lt;/span&gt;&lt;span style="color:#4b4b4b; font-size:12pt"&gt;
			&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="background: white"&gt; 
 &lt;/p&gt;&lt;p style="background: white; margin-left: 11pt"&gt;&lt;span style="color:#4b4b4b"&gt;&lt;span style="font-family:宋体; font-size:9pt"&gt;4.3&lt;/span&gt;&lt;span style="font-family:Times New Roman; font-size:7pt"&gt;     &lt;/span&gt;&lt;span style="font-family:宋体"&gt;&lt;span style="font-size:9pt"&gt;IISRESET&lt;/span&gt;&lt;span style="font-size:12pt"&gt;
				&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="background: white"&gt; 
 &lt;/p&gt;&lt;p style="background: white; margin-left: 11pt"&gt;&lt;span style="color:#4b4b4b"&gt;&lt;strong&gt;&lt;span style="font-family:宋体; font-size:9pt"&gt;5&lt;/span&gt;&lt;span style="font-family:Times New Roman; font-size:7pt"&gt;     &lt;/span&gt;&lt;/strong&gt;&lt;span style="font-family:宋体"&gt;&lt;span style="font-size:9pt"&gt;&lt;strong&gt;创建membership数据库和用户(两步曲)&lt;/strong&gt;&lt;/span&gt;&lt;span style="font-size:12pt"&gt;
				&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="background: white; margin-left: 11pt"&gt;&lt;span style="color:#4b4b4b"&gt;&lt;span style="font-family:宋体; font-size:9pt"&gt;5.1&lt;/span&gt;&lt;span style="font-family:Times New Roman; font-size:7pt"&gt;       &lt;/span&gt;&lt;span style="font-family:宋体"&gt;&lt;span style="font-size:9pt"&gt;创建membership数据结构&lt;/span&gt;&lt;span style="font-size:12pt"&gt;
				&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="background: white; margin-left: 21pt"&gt;&lt;span style="color:#4b4b4b; font-family:宋体"&gt;&lt;span style="font-size:9pt"&gt;运行.net framework 2的命令行aspnet_regsql.exe工具来创建membership数据结构&lt;/span&gt;&lt;span style="font-size:12pt"&gt;
			&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="background: white; margin-left: 11pt"&gt;&lt;span style="color:#4b4b4b"&gt;&lt;span style="font-family:宋体; font-size:9pt"&gt;5.2&lt;/span&gt;&lt;span style="font-family:Times New Roman; font-size:7pt"&gt;       &lt;/span&gt;&lt;span style="font-family:宋体"&gt;&lt;span style="font-size:9pt"&gt;利用ASP.NET 2程序添加membership用户&lt;/span&gt;&lt;span style="font-size:12pt"&gt;
				&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="background: white; margin-left: 21pt"&gt;&lt;span style="color:#4b4b4b; font-family:宋体"&gt;&lt;span style="font-size:9pt"&gt;用Visual Studio 2005创建一个web site项目, 按4.2步骤的web.config配置方法同样修改这个web site项目的web.config文件; 运行membership管理, 并在security管理里添加用户.&lt;/span&gt;&lt;span style="font-size:12pt"&gt;
			&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="background: white"&gt; 
 &lt;/p&gt;&lt;p style="background: white; margin-left: 11pt"&gt;&lt;span style="color:#4b4b4b"&gt;&lt;strong&gt;&lt;span style="font-family:宋体; font-size:9pt"&gt;6&lt;/span&gt;&lt;span style="font-family:Times New Roman; font-size:7pt"&gt;     &lt;/span&gt;&lt;/strong&gt;&lt;span style="font-family:宋体"&gt;&lt;span style="font-size:9pt"&gt;&lt;strong&gt;创建Sharepoint site collection (两步曲)&lt;/strong&gt;&lt;/span&gt;&lt;span style="font-size:12pt"&gt;
				&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="background: white"&gt;&lt;span style="color:#4b4b4b; font-family:宋体"&gt;&lt;span style="font-size:9pt"&gt;到这步骤为止, Sharepoint的环境才算配置完成, 现在就是创建Sharepoint site collection.&lt;strong&gt;
				&lt;/strong&gt;&lt;/span&gt;&lt;span style="font-size:12pt"&gt;
			&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="background: white; margin-left: 11pt"&gt;&lt;span style="color:#333399"&gt;&lt;span style="font-family:宋体; font-size:9pt"&gt;6.1&lt;/span&gt;&lt;span style="font-family:Times New Roman; font-size:7pt"&gt;     &lt;/span&gt;&lt;span style="font-family:宋体; font-size:9pt"&gt;在SharePoint 3.0 Central Administration设置&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#4b4b4b; font-family:宋体; font-size:12pt"&gt;
		&lt;/span&gt;&lt;/p&gt;&lt;p style="background: white; margin-left: 11pt"&gt;&lt;span style="color:#4b4b4b"&gt;&lt;span style="font-family:宋体; font-size:9pt"&gt;6.1.1&lt;/span&gt;&lt;span style="font-family:Times New Roman; font-size:7pt"&gt;             &lt;/span&gt;&lt;span style="font-family:宋体"&gt;&lt;span style="font-size:9pt"&gt;进入:&lt;/span&gt;&lt;span style="font-size:12pt"&gt;
				&lt;/span&gt;&lt;span style="font-size:9pt"&gt;Central Administration &amp;gt; Application Management &amp;gt; Create Site Collection.&lt;/span&gt;&lt;span style="font-size:12pt"&gt;
				&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="background: white; margin-left: 11pt"&gt;&lt;span style="color:#4b4b4b"&gt;&lt;span style="font-family:宋体; font-size:9pt"&gt;6.1.2&lt;/span&gt;&lt;span style="font-family:Times New Roman; font-size:7pt"&gt;             &lt;/span&gt;&lt;span style="font-family:宋体"&gt;&lt;span style="font-size:9pt"&gt;输入相关的Title, Web Site Address,&lt;/span&gt;&lt;span style="font-size:12pt"&gt;
				&lt;/span&gt;&lt;span style="font-size:9pt"&gt;Site Collection Administrator(这里输入5.2步骤里添加到membership管理的用户名)和网站模板&lt;/span&gt;&lt;span style="font-size:12pt"&gt;
				&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="background: white; margin-left: 11pt"&gt;&lt;span style="color:#4b4b4b"&gt;&lt;span style="font-family:宋体; font-size:9pt"&gt;6.1.3&lt;/span&gt;&lt;span style="font-family:Times New Roman; font-size:7pt"&gt;             &lt;/span&gt;&lt;span style="font-family:宋体"&gt;&lt;span style="font-size:9pt"&gt;按OK完成 &lt;/span&gt;&lt;span style="font-size:12pt"&gt;
				&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="background: white; margin-left: 11pt"&gt;&lt;span style="color:#4b4b4b"&gt;&lt;span style="font-family:宋体; font-size:9pt"&gt;6.2&lt;/span&gt;&lt;span style="font-family:Times New Roman; font-size:7pt"&gt;     &lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:宋体"&gt;&lt;span style="color:#333399; font-size:9pt"&gt;修改web.config文件&lt;/span&gt;&lt;span style="color:#4b4b4b"&gt;&lt;span style="font-size:9pt"&gt; (按4.2步骤的web.config配置方法同样修改当前sharepoint site collection的IIS目录下的web.config文件), OK后再运行一下IISRESET就可以用5.2步骤添加的用户身份进forms验证方式访问此Sharepoint网站了&lt;/span&gt;&lt;span style="font-size:12pt"&gt;
				&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="background: white"&gt; 
 &lt;/p&gt;&lt;p style="background: white"&gt; 
 &lt;/p&gt;&lt;p style="background: white"&gt;&lt;span style="color:#4b4b4b; font-family:宋体; font-size:12pt"&gt;总结
&lt;/span&gt;&lt;/p&gt;&lt;p style="background: white"&gt;&lt;span style="color:#4b4b4b; font-family:宋体; font-size:12pt"&gt;:
&lt;/span&gt;&lt;/p&gt;&lt;p style="background: white; margin-left: 18pt"&gt;&lt;span style="color:#4b4b4b"&gt;&lt;span style="font-family:宋体; font-size:9pt"&gt;1.&lt;/span&gt;&lt;span style="font-family:Times New Roman; font-size:7pt"&gt;        &lt;/span&gt;&lt;span style="font-family:宋体"&gt;&lt;span style="font-size:9pt"&gt;在Sharepoint 3.0里, Central Administration网站也是一个完整的Sharepoint网站, 而且必须要先创建这个Sharepoint网站.&lt;/span&gt;&lt;span style="font-size:12pt"&gt;
				&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="background: white; margin-left: 18pt"&gt;&lt;span style="color:#4b4b4b"&gt;&lt;span style="font-family:宋体; font-size:9pt"&gt;2.&lt;/span&gt;&lt;span style="font-family:Times New Roman; font-size:7pt"&gt;        &lt;/span&gt;&lt;span style="font-family:宋体"&gt;&lt;span style="font-size:9pt"&gt;创建sharepoint网站要经两个步骤: 第一要创建扩展web application目录(即IIS网站); 第二步就是创建Sharepoint site collection.&lt;/span&gt;&lt;span style="font-size:12pt"&gt;
				&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="background: white; margin-left: 18pt"&gt;&lt;span style="color:#4b4b4b"&gt;&lt;span style="font-family:宋体; font-size:9pt"&gt;3.&lt;/span&gt;&lt;span style="font-family:Times New Roman; font-size:7pt"&gt;        &lt;/span&gt;&lt;span style="font-family:宋体"&gt;&lt;span style="font-size:9pt"&gt;配置forms验证, 因为要在Central Administration网站的web.config文件也要添加membership数据库链接地址.&lt;/span&gt;&lt;span style="font-size:12pt"&gt;
				&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="background: white"&gt; 
 &lt;/p&gt;&lt;p style="background: white"&gt; 
 &lt;/p&gt;&lt;p style="background: white"&gt;&lt;span style="color:#4b4b4b; font-family:宋体; font-size:12pt"&gt;后话
&lt;/span&gt;&lt;/p&gt;&lt;p style="background: white"&gt; 
 &lt;/p&gt;&lt;p style="background: white"&gt;&lt;span style="color:#4b4b4b; font-family:宋体"&gt;&lt;span style="font-size:9pt"&gt;由于Sharepoint v3的forms验证是ASP.NET 2的AspNetSqlMembershipProvider实现的, 所以用户注册管理等backend管理可以用ASP.NET 2开发实现.&lt;/span&gt;&lt;span style="font-size:12pt"&gt;
			&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;img src="http://blog.hidotnet.com/ben/aggbug/71.aspx" width="1" height="1" /&gt;</description><dc:creator>Ben</dc:creator></item><item><title>用Beta2的Key激活Vista RTM的方法</title><link>http://blog.hidotnet.com/ben/archive/2006/11/23/69.aspx</link><pubDate>Thu, 23 Nov 2006 07:43:23 GMT</pubDate><guid isPermaLink="true">http://blog.hidotnet.com/ben/archive/2006/11/23/69.aspx</guid><wfw:comment>http://blog.hidotnet.com/ben/comments/69.aspx</wfw:comment><wfw:commentRss>http://blog.hidotnet.com/ben/comments/commentRss/69.aspx</wfw:commentRss><comments>http://blog.hidotnet.com/ben/archive/2006/11/23/69.aspx#comment</comments><slash:comments>534</slash:comments><trackback:ping>http://blog.hidotnet.com/ben/services/trackbacks/69.aspx</trackback:ping><source url="http://blog.hidotnet.com/ben/rss.aspx">用Beta2的Key激活Vista RTM的方法</source><description>&lt;p&gt;分享一下Vista的喜悦, 共享激活方法. 
&lt;/p&gt;&lt;p&gt;&lt;strong&gt;前提: &lt;/strong&gt;
	&lt;/p&gt;&lt;p&gt;先准备要替换RTM的两个文件pkeyconfig.xrm-ms和tokens.dat. (如果你想要这两个文件的话, 请留言) 
&lt;/p&gt;&lt;p&gt; 
 &lt;/p&gt;&lt;p&gt;&lt;strong&gt;步骤: &lt;/strong&gt;
	&lt;/p&gt;&lt;p&gt;1. 安装RTM版,安装开始时要key验证, 就输入这个key: YFKBB-PQJJV-G996G-VWGXY-2V3X8, (key验证通过后它会问你安装哪个版本Vista, 我选择是Ultimate) 
&lt;/p&gt;&lt;p&gt; 
 &lt;/p&gt;&lt;p&gt;2. 启动Vista, 进入c:\Windows\System32\Licensing\pkeyconfig目录, 将pkeyconfig.xrm-ms文件的权限分配给administrator是Full Control(很BT, Vista里就算你是admdinistrator登录进入, 也是受限权限用户来的), 
&lt;/p&gt;&lt;p&gt;方法: 右击pkeyconfig.xrm-ms文件 -&amp;gt; Properties -&amp;gt; Security -&amp;gt; Advanced -&amp;gt; Owner -&amp;gt; Edit -&amp;gt; 选择administrator -&amp;gt; OK. 到这里, 按提示, 全部按OK关闭开它的Properties窗口, 再重新打开它的Properties窗口 -&amp;gt; Security -&amp;gt; Advanced -&amp;