??xml version="1.0" encoding="utf-8" standalone="yes"?>精品视频在线观看免费观看,韩国精品美女www爽爽爽视频,97在线观看免费http://www.aygfsteel.com/rickhunter/category/3461.html关于JAVA的点Ҏ(gu)?/description>zh-cnFri, 02 Nov 2007 09:01:51 GMTFri, 02 Nov 2007 09:01:51 GMT60jdom操作xmlhttp://www.aygfsteel.com/rickhunter/articles/64739.html千山鸟飞l?/dc:creator>千山鸟飞l?/author>Mon, 21 Aug 2006 03:18:00 GMThttp://www.aygfsteel.com/rickhunter/articles/64739.htmlhttp://www.aygfsteel.com/rickhunter/comments/64739.htmlhttp://www.aygfsteel.com/rickhunter/articles/64739.html#Feedback0http://www.aygfsteel.com/rickhunter/comments/commentRss/64739.htmlhttp://www.aygfsteel.com/rickhunter/services/trackbacks/64739.html
JDOM的二q制版本下蝲Q?a >http://www.jdom.org/downloads/index.html

把解压后的jdom.jar文g加到目的类路径中,另外便于调试Q还要下载它的源代码?br />
一、解析XML
要解析的XML文gQ?br />
<?xml version="1.0" encoding="gb2312"?>
<books>
   
<book email="zhoujunhui">
     
<name>rjzjh</name>
     
<price>60.0</price>
  
</book>
</books>


解析XML的java文gQ?br />
 1 package com;
 2 
 3 import java.io.IOException;
 4 import java.util.*;
 5 import org.jdom.*;
 6 import org.jdom.input.SAXBuilder; 
 7 
 8 public class Test {
 9 
10     /**
11      * @param args
12      */
13     public static void main(String[] args) {
14         SAXBuilder sb=new SAXBuilder(false);
15         Document doc = null;
16         try {
17             doc = sb.build("sample.xml");
18         } catch (JDOMException e) {
19             e.printStackTrace();
20         } catch (IOException e) {
21             e.printStackTrace();
22         } 
23         Element root=doc.getRootElement(); //获取根元?/span>
24         List list=root.getChildren("book");//取名字ؓ(f)book的所有元?/span>
25         for(int i=0;i<list.size();i++){
26             Element element=(Element)list.get(i);
27             String email=element.getAttributeValue("email");
28             String name=element.getChildText("name");
29             String price=element.getChildText("price");
30             System.out.println("name:"+name);
31             System.out.println("price:"+price);
32             System.out.println("email:"+email);
33         }
34     }
35 }
36 
37 

二、生成XMLQ?br />java文gQ?br />
 1 package com;
 2 
 3 import java.io.FileWriter;
 4 import java.io.IOException;
 5 import java.util.*;
 6 import org.jdom.*;
 7 import org.jdom.input.SAXBuilder; 
 8 import org.jdom.output.XMLOutputter;
 9 
10 public class Test {
11 
12     /**
13      * @param args
14      */
15     public static void main(String[] args) {
16         //W一步,创徏根元素?/span>
17 
18         Element carElement = new Element("car"); 
19         Document myDocument = new Document(carElement); 
20 
21         //因ؓ(f)一个 XML 文档必须一直有一个唯一的根元素Q所以 Document  Element 攑֜它的构造器中。?br />22 
23         //W二步,d一个 Attribute 
24 
25         carElement.setAttribute(new Attribute("vin""123fhg5869705iop90")); 
26 
27         //W三步,d其它元素 
28 
29         carElement.addContent(new Element("make").addContent("Toyota")); 
30 
31         carElement.addContent(new Element("model").addContent("Celica")); 
32         carElement.addContent(new Element("year").addContent("1997")); 
33         carElement.addContent(new Element("color").addContent("green")); 
34         carElement.addContent(new Element("license").addContent("1ABC234").setAttribute("state""CA")); 
35 
36         //W四步,d一条注释?/span>
37 
38         carElement.addContent(new Comment("Description of a car")); 
39 
40         //W五步,M个子元素 
41 
42         Element yearElement = carElement.getChild("year"); 
43 
44         //W六步,删除子元素?/span>
45 
46         boolean removed = carElement.removeChild("year"); 
47 
48         //W七步,存盘 
49         XMLOutputter outputter = new XMLOutputter();//用于输出jdom 文档
50         FileWriter writer;
51         try {
52             writer = new FileWriter("myFile.xml");
53             outputter.output(myDocument, writer); 
54             writer.close();
55         } catch (IOException e) {
56             // TODO 自动生成 catch ?/span>
57             e.printStackTrace();
58         } 
59         
60 
61     }
62 }
63 
64 

生成的XML:
<?xml version="1.0" encoding="UTF-8"?>
<car vin="123fhg5869705iop90">
<make>Toyota</make>
<model>Celica</model>
<color>green</color>
<license state="CA">1ABC234</license>
<!--Description of a car-->
</car>



]]>
学习(fn)J2EE所看的书籍http://www.aygfsteel.com/rickhunter/articles/45346.html千山鸟飞l?/dc:creator>千山鸟飞l?/author>Wed, 10 May 2006 01:35:00 GMThttp://www.aygfsteel.com/rickhunter/articles/45346.htmlhttp://www.aygfsteel.com/rickhunter/comments/45346.htmlhttp://www.aygfsteel.com/rickhunter/articles/45346.html#Feedback3http://www.aygfsteel.com/rickhunter/comments/commentRss/45346.htmlhttp://www.aygfsteel.com/rickhunter/services/trackbacks/45346.htmlJ2EE的学?fn)应该@序渐q,一本好的书能够使你很快上手和深入。在学习(fn)J2EE之前Q我们要把SQL学好Q基本上Q程序设计都?x)跟数据库打交道Q如果SQL没学好,如同房子没有基脚一P学习(fn)SQL需要大量的l习(fn)才能真正的体?x)其中的_N?br /> 在入门之初,只需要买本一二十元的SQL入门书籍看看Q了解数据库和SQL的基知识。在深入学习(fn)SQLӞSQLServer2000的帮助文档是再好不过的教材了Q只是内Ҏ(gu)得过于庞大?br /> 在这里,我推荐一本书Q可以看作是SQLServer2000的帮助文档的羃版本Q方便^常翻阅查询?br /> SQL~程实用大全Q精华版Q?br /> 相关联接Q?br /> http://www.dearbook.com.cn/book/29898

接下来是java语言的学?fn)?br />
Java语言E序设计

q是一本很好的Java入门教材Q该说的都说了,管不是很深入,但对入门而言已经_了?br /> 相关联接Q?br /> http://www.huachu.com.cn/itbook/itbookinfo.asp?lbbh=BB07956476
Java 2核心技?卷IQ基知识Q原书第7版)(j)?/strong> Java 2 核心技?卷IIQ高U特性(原书W?版)(j)
我觉得这两本书可以好好读读,q两本书如同java?#8220;新华字典”。不q刚刚接触javaQ没必要开始就从这两本书入手,因ؓ(f)太厚了,学习(fn)的兴可能会(x)因此慢慢消失。不q,以后哪怕熟l掌握了JavaQ也应该好好读读q两本书?br /> 相关联接Q?br /> http://www.dearbook.com.cn/book/104972
http://www.dearbook.com.cn/book/104973
Java~程思想Q第3?/strong>
不知Z么,很多人都推荐Ch看这本书。这本书应该是给有Java工作l验或者以前有C++工作l验的h看的。看名字应该明白,q不是说基础的书c,而是在基上的思想的升华。有了上面的书籍Q这本书C买都无所谓了。如果没有Java基础来看q本书,会(x)是g非常痛苦的经历。另外,更有甚者,推荐Ch看此书的英文版,让我觉得真不可思议。很多高手都从此书中收益不少Q但q不是每个h都是高手?br /> 相关联接Q?br /> http://www.dearbook.com.cn/book/29060

Java面向对象~程
孙卫琴的最C?是一本不错的基础书籍?br /> http://www.dearbook.com.cn/book/110136

学好了JavaQ就可以q入J2EE的学?fn)了QJ2EE是个很庞大的概念Q但最基本的就是ؓ(f)企业服务。刚开始接触J2EEQ可能让人摸不着头脑Q要学的知识太多了。其实,学习(fn)J2EEQ可以从Web开发入手,边学边做Q慢慢就领会(x)了J2EE。Web开发,说窄(jing)点,是做网站,说宽点,是B/S开发?br />
首先要学?fn)的是jsp和servletQ这两项技术是web开发的基础之基?br /> Servlet与JSP核心~程Q第2版)(j)
我当时借阅了这本书Q感觉在学servlet斚wQ这可以说得上是比较好的一本书了?br /> http://www.dearbook.com.cn/book/22890

如果你对servlet有了一定了解,只是惛_?fn)一下jsp,你可以看看这本书Q?br /> JSPE序设计
管q是一本英文原版拆成两本书来买Q但我觉得这本书很适合jsp入门?br /> http://www.dearbook.com.cn/book/91320

有了一定的jsp和servlet基础Q就可以看一些流行的框架技术了。在q里以目前行的SSHZ。尽ejb仍然有市场,但因为学?fn)难度大和工作机会(x)较(yu),所以初学者学?fn)轻量框架是进入J2EE的最x径?br />
首先需要介l的是Struts,Struts管有一定岁月了Q但至今它仍是开发h员首选的技术之一。目前还有一些与Struts怼的技术,如Tapestry ,JSF{,可以在学?x)Struts后再d?fn),q样可以事半功倍?br />
_NStrutsQ基于MVC的Java Web设计与开?br /> q本书不用多说了Q尽h们对他的评h(hun)有褒有贬Q但在我看来q本书可以说得上是孙大姐写得最好的一本书Q入门,深入都可以在q本书得到?br /> http://www.dearbook.com.cn/book/23040

另外Q如果你不喜Ƣ这本书Q那p买这本书吧:(x)
实战STRUTS
有h说孙大姐的书是抄袭了这本书Q不怎么_(d)都证明了q是一本好书?br /> http://www.dearbook.com.cn/book/29882

Hibernate是SSH中的HQ是一ORM技术?br />
Hibernate Quickly中文?/strong>
我当初学?fn)hibernate时还没有q本书的中文版,我当时是看着英文版学?x)了hibernateQ在我看来,q本书很适合对hibernate的入门?br /> http://www.dearbook.com.cn/book/110547

关于hibernate深入的书c,我认为最好的是hibernate in action。但他没有中文版。不q市面上有几本书都不错,可以自己挑选一本看Q《精通Hibernate :Java对象持久化技术详解》、《深入浅出Hibernate》、《Hibernate开发及(qing)整合应用大全Q珍藏版Q?br />
ORM技术另外还有一个Ibatis,在许多大目中都可以看到Ibatis的踪影,q是因ؓ(f)Ibatis的仍然是面向SQL的,对SQL的操作有得天独厚的优ѝ它的学?fn)难度也不大Q只要看它的官方文档p够了。现在《Ibatis in Action》英文版已经出版了?br />
spring是现在流行的SSH框架中最重要也最隄解的一Ҏ(gu)术?br /> 我当初理解spring是看它自带的例子理解的,因ؓ(f)当时市面上ƈ没有什么好的入门书c?br /> 不过现在有本书倒是值得推荐Q?br /> spring 2.0技术手?br /> q本书我在书店看q,觉得实是本很好的入门书c,因ؓ(f)spring的理解确实不是那么好理解Q从CZ出发能更好的理解spring的魅力?br /> http://www.dearbook.com.cn/book/175891

spring的提升书c我推荐Q?br /> Spring框架高~程
q本书是spring的作者参与写的书Q里面对技术的描述很到位,只是q本书的中文版的译有点生硬Q但q过得去Q最可惜的是q本书的U张太差。只能看不能写?br /> http://www.dearbook.com.cn/book/105486

Spring专业开发指南(Pro Spring中文版)(j)

q也是一本很好的Spring书籍Q虽然没有Spring框架高~程那么全面Q但译质量却胜于前者?/p>

http://www.dearbook.com.cn/book/108340

今年Struts2.0的推出,看来Struts1.x?x)慢慢E出大家的视线了?/p>

Struts2.0其实是WebWork2.2Q在现在没有Struts2.0书籍时候,

WebWork in Action中文?值得大家阅读?/span>

http://www.dearbook.com.cn/book/123018

能很好的看完上面书籍Qƈ掌握60%Q你可以成Z名程序员了。呵c(din)?br />
其实做好一名程序员Q要求掌握的技术远不止q些Qjavascript和css都是必备的技术,只是大家g认ؓ(f)q只是美工的玩意Q都不是很在乎,Ajax的出玎ͼ大大改变了大家对q两Ҏ(gu)术的看法?br /> Javascript没有什么好书,唯一一本《Javascript权威指南》还是一本字典工具书QCSS也有一本权威指南,但现在已l绝版了Q要学好q两Ҏ(gu)术,q是多从|上找例子看Q或虚心h工?br />
大家在应用Ajax技术时感到的难度,其实也是因ؓ(f)Javascript的问题,要理解Ajax很简单,|上搜烦(ch)一下,很多例子都能很好的理解Ajax?br />
我买Ajax的书可以多了,C三本Q《Ajax基础教程》,《征服Ajax--Web 2.0开发技术详解》,《征服Ajax+Lucene--构徏搜烦(ch)引擎》?br /> 《Ajax基础教程》是市面上第一本Ajax中文书籍Q当时买回来也没怎么看,直到C《征服Ajax+Lucene--构徏搜烦(ch)引擎》,我才体会(x)了到什么是AjaxQ可以是因ؓ(f)它的登陆例子单实用吧。尽不h认ؓ(f)q本书是个大杂烩Q但我却觉得买这本书很|因ؓ(f)它,我开始用AjaxQ也开始用Lucene引擎了。可能每个h的看书习(fn)惯不同,我更喜欢单易懂的入门书籍Q在我看来,只要入了门,q于成功了一半?br />
除了上面q些技术,q有不少技术需要掌握才能真正的做到开发时得心应手Q?/p>

Lucene IN ACTION 中文?/span>

一本讲qLucene的权威书c?br />

http://www.dearbook.com.cn/book/124684


在掌握的q些技术的时候,也不要忘记理论的学习(fn)Q这h能更好的理解q些技术、框架?/p>

Java与模?

q本书就不需要过多的介绍了?br />

http://www.dearbook.com.cn/book/7401

先写到这里,以后再修攏V?/p>

]]>
[转脓(chung)]用jdom技术将数据库数据写入读出xml文ghttp://www.aygfsteel.com/rickhunter/articles/28114.html千山鸟飞l?/dc:creator>千山鸟飞l?/author>Sun, 15 Jan 2006 10:33:00 GMThttp://www.aygfsteel.com/rickhunter/articles/28114.htmlhttp://www.aygfsteel.com/rickhunter/comments/28114.htmlhttp://www.aygfsteel.com/rickhunter/articles/28114.html#Feedback0http://www.aygfsteel.com/rickhunter/comments/commentRss/28114.htmlhttp://www.aygfsteel.com/rickhunter/services/trackbacks/28114.html
//很多时候,Z避免多次讉K/查询数据库重的数据或者便于察看,需要的数据一ơ取出ƈ写入xml文g

//通过查询条gm_condition 按照xmlMapPath的模?模板 从库中的数据写到resultXml
//q返回记录条?

public int writeXML(String m_condtion,String xmlMapPath,String resultXml){
int recordNum=0;
String tableName = "table";
String tableCol = "*";
String sql = "select " + tableCol + " from " + tableName + " where " + m_condtion;

Document mapDoc = null;
Document dataDoc = null;
Document newDoc = null;
//开始准备工?
try {
DocumentBuilderFactory dbfactory = DocumentBuilderFactory.newInstance();
//Create the DocumentBuilder
DocumentBuilder docbuilder = dbfactory.newDocumentBuilder();
//Parse the file to create the Document
mapDoc = docbuilder.parse(xmlMapPath);

dataDoc = docbuilder.newDocument();
//Instantiate the new Document
newDoc = docbuilder.newDocument();
} catch (Exception e) {
System.out.println(e.getMassege());
}

//开始读取映作用的template文g

Element mapRoot = mapDoc.getDocumentElement();
Node dataNode = mapRoot.getElementsByTagName("data").item(0);
Element dataElement = (Element)dataNode;

//Create a new element called "data"
Element dataRoot = dataDoc.createElement("data");

try {
/******** q里创徏一个连接conn,q创建statement
Ҏ(gu)不同的数据源创徏
********************************/
ResultSet resultset = stmt.query(sql);
//Get the ResultSet information
ResultSetMetaData resultmetadata = resultset.getMetaData();
int numCols = resultmetadata.getColumnCount();
Log.write("db_to_xml:numCols:" + numCols);


while (resultset.next()) {
//Create a new element called "row"
Element rowEl = dataDoc.createElement("row");

//Z便于览和读Q创建列?以id为标?
String colName = "id";
String colVal =Integer.toString(++recordNum);
Element dataEl = dataDoc.createElement(colName);
dataEl.appendChild(dataDoc.createTextNode(colVal));

rowEl.appendChild(dataEl);
for (int i=1; i <= numCols; i++) {

colName = resultmetadata.getColumnName(i);
//Get the column value
colVal = resultset.getString(i);

//Determine if the last column accessed was null
if (resultset.wasNull()) {
colVal = "";
}

dataEl = dataDoc.createElement(colName);

dataEl.appendChild(dataDoc.createTextNode(colVal));

rowEl.appendChild(dataEl);
}
//Add the row to the root element
dataRoot.appendChild(rowEl);
}
} catch (Exception e) {
Log.write(e.getMessage());
} finally {
Log.write(" db_to_xml: Closing connections...");

}

//Add the root element to the document
dataDoc.appendChild(dataRoot);


Node node1= mapRoot.getElementsByTagName("root").item(0);
Element newRootInfo =(Element)node1;
Log.write("After got newRootInfo ...");
//Retrieve the root and row information


String newRootName = newRootInfo.getAttribute("name");

String newRowName= newRootInfo.getAttribute("rowName");

NodeList newNodesMap = mapRoot.getElementsByTagName("element");

//Create the final root element with the name from the mapping file
Element newRootElement=null;

newRootElement = newDoc.createElement(newRootName);


NodeList oldRows = dataRoot.getElementsByTagName("row");
for (int i=0; i < oldRows.getLength(); i++){

//Retrieve each row in turn
Element thisRow = (Element)oldRows.item(i);

//Create the new row
Element newRow = newDoc.createElement(newRowName);

for (int j=0; j < newNodesMap.getLength(); j++) {

//For each node in the new mapping, retrieve the information
//First the new information...
Element thisElement = (Element)newNodesMap.item(j);
String newElementName = thisElement.getAttribute("name");

//Then the old information
Element oldElement = (Element)thisElement.getElementsByTagName("content").item(0);
String oldField = oldElement.getFirstChild().getNodeValue();


//Get the original values based on the mapping information
Element oldValueElement = (Element)thisRow.getElementsByTagName(oldField).item(0);
String oldValue = oldValueElement.getFirstChild().getNodeValue();


Element newElement = newDoc.createElement(newElementName);
newElement.appendChild(newDoc.createTextNode(oldValue));


NodeList newAttributes = thisElement.getElementsByTagName("attribute");
for (int k=0; k < newAttributes.getLength(); k++) {
//Get the mapping information
Element thisAttribute = (Element)newAttributes.item(k);
String oldAttributeField = thisAttribute.getFirstChild().getNodeValue();
String newAttributeName = thisAttribute.getAttribute("name");

oldValueElement = (Element)thisRow.getElementsByTagName(oldAttributeField).item(0);
String oldAttributeValue = oldValueElement.getFirstChild().getNodeValue();


newElement.setAttribute(newAttributeName, oldAttributeValue);
}

//Add the new element to the new row
newRow.appendChild(newElement);
}
//Add the new row to the root
newRootElement.appendChild(newRow);
}
//Add the new root to the document
newDoc.appendChild(newRootElement);


//把生成的xml文档QnewDocQ写到文件中(路径名ؓ(f)resultXml)
try{
TransformerFactory tFactory = TransformerFactory.newInstance();
Transformer transformer = tFactory.newTransformer();
Properties properties = transformer.getOutputProperties();
properties.setProperty(OutputKeys.ENCODING, "GB2312");//ISO8859_1QGB2312,UTF-8
properties.setProperty(OutputKeys.METHOD, "xml");
properties.setProperty(OutputKeys.VERSION, "1.0");
properties.setProperty(OutputKeys.INDENT, "yes");
transformer.setOutputProperties(properties);

DOMSource source = new DOMSource(newDoc);

StreamResult result = new StreamResult(new java.io.File(resultXml));

transformer.transform(source, result);
//生成XML文g 完成
} catch (Exception e) {
System.out.println("XML file write:"+e.getMessage());
}
return recordNum;
}

]]>
面试?/title><link>http://www.aygfsteel.com/rickhunter/articles/26849.html</link><dc:creator>千山鸟飞l?/dc:creator><author>千山鸟飞l?/author><pubDate>Fri, 06 Jan 2006 03:02:00 GMT</pubDate><guid>http://www.aygfsteel.com/rickhunter/articles/26849.html</guid><wfw:comment>http://www.aygfsteel.com/rickhunter/comments/26849.html</wfw:comment><comments>http://www.aygfsteel.com/rickhunter/articles/26849.html#Feedback</comments><slash:comments>7</slash:comments><wfw:commentRss>http://www.aygfsteel.com/rickhunter/comments/commentRss/26849.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/rickhunter/services/trackbacks/26849.html</trackback:ping><description><![CDATA[     摘要: JSP斚w1、forward 和redirect的区别答Qforward是服务器h资源Q服务器直接讉K目标地址的URLQ把那个URL的响应内容读取过来,然后把这些内容再发给览器,览器根本不知道服务器发送的内容是从哪儿来的Q所以它的地址栏中q是原来的地址?nbsp;   redirect是服务端根据逻辑,发送一个状态码,告诉览器重新去h那个地址Q?..  <a href='http://www.aygfsteel.com/rickhunter/articles/26849.html'>阅读全文</a><img src ="http://www.aygfsteel.com/rickhunter/aggbug/26849.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/rickhunter/" target="_blank">千山鸟飞l?/a> 2006-01-06 11:02 <a href="http://www.aygfsteel.com/rickhunter/articles/26849.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>多线E实现对多个客户端的监听.http://www.aygfsteel.com/rickhunter/articles/15135.html千山鸟飞l?/dc:creator>千山鸟飞l?/author>Mon, 10 Oct 2005 06:04:00 GMThttp://www.aygfsteel.com/rickhunter/articles/15135.htmlhttp://www.aygfsteel.com/rickhunter/comments/15135.htmlhttp://www.aygfsteel.com/rickhunter/articles/15135.html#Feedback0http://www.aygfsteel.com/rickhunter/comments/commentRss/15135.htmlhttp://www.aygfsteel.com/rickhunter/services/trackbacks/15135.html    
    服务器端的代码:(x)
    package SocketTest;

    import java.io.*;
    import java.net.*;
    import java.util.*;

    class SocketServer{
        public SocketServer(){
            Socket incoming;
            ServerSocket so;
            try{
                so= new ServerSocket(8001);
                System.out.println("{待客户端连接?);
            
                while(true){
                    try{
                        incoming = so.accept( );
                          System.out.println("已连接客L(fng)?);
                          GetInfo gi=new GetInfo(incoming);//调用U程
                     } catch (IOException e){
                        e.printStackTrace();
                     }
                }
            }catch (IOException e){
                 e.printStackTrace();
            }
        }
   
        public static void main(String[] args){
            new SocketServer();
        }
   
        private static class GetInfo implements Runnable{   //U程c?br>             private Socket incoming;
            private String s=null;
            private BufferedReader b;
            Thread t;
       
            public GetInfo(Socket incoming){
                try{
                    this.incoming=incoming;
                    b=new BufferedReader(new InputStreamReader(incoming.getInputStream()));
               
                    t=new Thread(this);
                    t.start();
                }catch(IOException e){
                    e.printStackTrace();
                }   
            }
       
            public void run(){
                try{
                    while (true){
                        s=b.readLine();
                        System.out.println(s);
                        if(s.equals("end")){
                            break;
                        }
                    } 
                }catch(IOException e){
                    e.printStackTrace();
                }
            }
        }
      
     }


    客户端的代码Q?br>     package SocketTest;

    import java.io.*;
    import java.net.*;
    import java.util.*;

    public class SocketClient{
   
       public static void main(String[] args){
      
               try{
                  Socket so = new Socket("localhost", 8001);
                  System.out.println("q接服务器?);
             
                  BufferedReader b=new BufferedReader(new InputStreamReader(System.in));
                   
                  OutputStream outStream = so.getOutputStream();
                  PrintWriter out = new PrintWriter(outStream);
       
                  String s=null;
                  while (true){
                    s=b.readLine();
                    out.println("Client:"+s);
                    out.flush();
                    if(s.equals("end")){
                         break;
                    }    
                  }
            }catch (IOException e){
              e.printStackTrace();
            }
       }
    }





]]>
单的四则计算?/title><link>http://www.aygfsteel.com/rickhunter/articles/13543.html</link><dc:creator>千山鸟飞l?/dc:creator><author>千山鸟飞l?/author><pubDate>Tue, 20 Sep 2005 09:31:00 GMT</pubDate><guid>http://www.aygfsteel.com/rickhunter/articles/13543.html</guid><wfw:comment>http://www.aygfsteel.com/rickhunter/comments/13543.html</wfw:comment><comments>http://www.aygfsteel.com/rickhunter/articles/13543.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.aygfsteel.com/rickhunter/comments/commentRss/13543.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/rickhunter/services/trackbacks/13543.html</trackback:ping><description><![CDATA[效果?<br> <img src="http://www.aygfsteel.com/images/blogjava_net/rickhunter/Snap1.jpg" alt="Snap1.jpg" border="0" height="250" width="300"><br> <br> import java.awt.*;<br> import java.awt.event.*;<br> import javax.swing.*;<br> import javax.swing.event.*;<br> <br> //定义了一个面板存放控?br> class MyPanel extends JPanel implements ActionListener<br> {<br>     //定义?9个按钮(有两个还没实玎ͼ(j)Q一个文本框<br>     JButton jb1=new JButton("1");<br>     JButton jb2=new JButton("2");<br>     JButton jb3=new JButton("3");<br>     JButton jb4=new JButton("4");<br>     JButton jb5=new JButton("5");<br>     JButton jb6=new JButton("6");<br>     JButton jb7=new JButton("7");    <br>     JButton jb8=new JButton("8");<br>     JButton jb9=new JButton("9");    <br>     JButton jb10=new JButton("0");<br>     JButton jb11=new JButton("+");<br>     JButton jb12=new JButton("-");<br>     JButton jb13=new JButton("*");    <br>     JButton jb14=new JButton("/");    <br>     JButton jb15=new JButton("+/-");    <br>     JButton jb16=new JButton("清零");    <br>     JButton jb17=new JButton("");    //留着l以后加按钮<br>     JButton jb18=new JButton(".");//L(fng)号作用的按钮Q还没实?nbsp;   <br>     JButton jb19=new JButton("=");    <br>     JTextField jtf=new JTextField(20);<br>     String type;//定义了一个字W串存放术q算W?br>     double a=0D,b=0D;//定义两个数字Q算术运符两边的数字)(j)<br>     <br>     public MyPanel()<br>     {<br>         jtf.setText("0");<br>         jtf.setHorizontalAlignment(JTextField.RIGHT);<br>         setLayout(null);//定义面板布局为空?br>         jb1.setBounds(new Rectangle(125, 148, 45, 25));<br>         jb2.setBounds(new Rectangle(70, 148, 45, 25));<br>         jb3.setBounds(new Rectangle(15, 148, 45, 25));<br>         jb4.setBounds(new Rectangle(125, 115, 45, 25));<br>         jb5.setBounds(new Rectangle(70, 115, 45, 25));<br>         jb6.setBounds(new Rectangle(15, 115, 45, 25));<br>         jb7.setBounds(new Rectangle(125, 80, 45, 25));<br>         jb8.setBounds(new Rectangle(70, 80, 45, 25));<br>         jb9.setBounds(new Rectangle(15, 80, 45, 25));<br>         jb10.setBounds(new Rectangle(15, 180, 45, 25));<br>         jb11.setBounds(new Rectangle(185, 148, 60, 25));<br>         jb12.setBounds(new Rectangle(185, 180, 60, 25));<br>         jb13.setBounds(new Rectangle(185, 115, 60, 25));<br>         jb14.setBounds(new Rectangle(185, 80, 60, 25));<br>         jb15.setBounds(new Rectangle(185, 45, 60, 25));<br>         jb16.setBounds(new Rectangle(15, 45, 70, 25));<br>         jb17.setBounds(new Rectangle(96, 45, 70, 25));<br>         jb18.setBounds(new Rectangle(70, 180, 45, 25));<br>         jb19.setBounds(new Rectangle(125, 180, 45, 25));<br>         jtf.setBounds(new Rectangle(15, 9, 231, 28));<br>         add(jtf);<br>         jb1.addActionListener(this);<br>         jb2.addActionListener(this);<br>         jb3.addActionListener(this);<br>         jb4.addActionListener(this);<br>         jb5.addActionListener(this);<br>         jb6.addActionListener(this);<br>         jb7.addActionListener(this);<br>         jb8.addActionListener(this);<br>         jb9.addActionListener(this);<br>         jb10.addActionListener(this);<br>         jb11.addActionListener(this);<br>         jb12.addActionListener(this);<br>         jb13.addActionListener(this);<br>         jb14.addActionListener(this);<br>         jb15.addActionListener(this);<br>         jb16.addActionListener(this);<br>         jb17.addActionListener(this);<br>         jb18.addActionListener(this);<br>         jb19.addActionListener(this);<br>             <br>         add(jb1);<br>         add(jb2);<br>         add(jb3);<br>         add(jb4);<br>         add(jb5);<br>         add(jb6);<br>         add(jb7);<br>         add(jb8);<br>         add(jb9);<br>         add(jb10);<br>         add(jb11);<br>         add(jb12);<br>         add(jb13);<br>         add(jb14);<br>         add(jb15);<br>         add(jb16);<br>         add(jb17);<br>         add(jb18);<br>         add(jb19);<br>     }<br>     <br>         <br>     public void actionPerformed(ActionEvent e)<br>     {    <br>         if(e.getSource()==jb1)<br>         {<br>             if(type=="equal")<br>                 jtf.setText("1");<br>             else if(jtf.getText().equals("0"))<br>             <br>                 jtf.setText("1");<br>             else<br>                 jtf.setText(jtf.getText()+'1');<br>             <br>         }<br>         else if(e.getSource()==jb2)<br>         {<br>             if(type=="equal")<br>                 jtf.setText("2");<br>             else if(jtf.getText().equals("0"))<br>             <br>                 jtf.setText("2");<br>             else<br>                 jtf.setText(jtf.getText()+'2');<br>         }<br>         else if(e.getSource()==jb3)<br>         {<br>             if(type=="equal")<br>                 jtf.setText("3");<br>             else if(jtf.getText().equals("0"))<br>             <br>                 jtf.setText("3");<br>             else<br>                 jtf.setText(jtf.getText()+'3');<br>         }<br>         else if(e.getSource()==jb4)<br>         {<br>             if(type=="equal")<br>                 jtf.setText("4");<br>             else if(jtf.getText().equals("0"))<br>             <br>                 jtf.setText("4");<br>             else<br>                 jtf.setText(jtf.getText()+'4');<br>         }<br>         else if(e.getSource()==jb5)<br>         {<br>             if(type=="equal")<br>                 jtf.setText("5");<br>             else if(jtf.getText().equals("0"))<br>             <br>                 jtf.setText("5");<br>             else<br>                 jtf.setText(jtf.getText()+'5');<br>         }<br>         else if(e.getSource()==jb6)<br>         {<br>             if(type=="equal")<br>                 jtf.setText("6");<br>             else if(jtf.getText().equals("0"))<br>             <br>                 jtf.setText("6");<br>             else<br>                 jtf.setText(jtf.getText()+'6');<br>         }<br>         else if(e.getSource()==jb7)<br>         {<br>             if(type=="equal")<br>                 jtf.setText("7");<br>             else if(jtf.getText().equals("0"))<br>             <br>                 jtf.setText("7");<br>             else<br>                 jtf.setText(jtf.getText()+'7');<br>         }<br>         else if(e.getSource()==jb8)<br>         {<br>             if(type=="equal")<br>                 jtf.setText("8");<br>             else if(jtf.getText().equals("0"))<br>             <br>                 jtf.setText("8");<br>             else<br>                 jtf.setText(jtf.getText()+'8');<br>         }<br>         else if(e.getSource()==jb9)<br>         {<br>             if(type=="equal")<br>                 jtf.setText("9");<br>             else if(jtf.getText().equals("0"))<br>             <br>                 jtf.setText("9");<br>             else<br>                 jtf.setText(jtf.getText()+'9');<br>         }<br>         else if(e.getSource()==jb10)<br>         {<br>             if(type=="equal")<br>                 jtf.setText("0");<br>             else if(jtf.getText().equals("0"))<br>             <br>                 jtf.setText("0");<br>             else<br>                 jtf.setText(jtf.getText()+'0');<br>         }<br>         else if(e.getSource()==jb18)<br>         {<br>             if(jtf.getText().indexOf(".")<1)<br>             {<br>                 jtf.setText(jtf.getText()+'.');<br>             }<br>             else <br>             {<br>                 jtf.setText(jtf.getText());<br>             }<br>             <br>         }<br>         else if(e.getSource()==jb18)<br>         {<br>             if(jtf.getText().equals("0"))<br>                 jtf.setText("0");<br>             <br>         }<br>         else if(e.getSource()==jb16)<br>         {<br>             jtf.setText("0");<br>         }<br>         else if(e.getSource()==jb11)<br>         {<br>             if(jtf.getText().equals("0"))<br>                     jtf.setText("0");<br>             else<br>             {<br>                 type="add";<br>                 a=Double.parseDouble(jtf.getText());<br>                 jtf.setText("");<br>             }<br>         }<br>         else if(e.getSource()==jb12)<br>         {<br>             if(jtf.getText().equals("0"))<br>                     jtf.setText("0");<br>             else<br>             {<br>                 type="subtract";<br>                 a=Double.parseDouble(jtf.getText());<br>                 jtf.setText("");<br>             }<br>         }<br>         else if(e.getSource()==jb13)<br>         {<br>             if(jtf.getText().equals("0"))<br>                     jtf.setText("0");<br>             else<br>             {<br>                 type="multiply";<br>                 a=Double.parseDouble(jtf.getText());<br>                 jtf.setText("");<br>             }    <br>         }<br>         else if(e.getSource()==jb14)<br>         {<br>             if(jtf.getText().equals("0"))<br>                     jtf.setText("0");<br>             else<br>             {<br>                 type="divide";<br>                 a=Double.parseDouble(jtf.getText());<br>                 jtf.setText("");<br>             }<br>         }<br>         else if(e.getSource()==jb19)<br>         {<br>             if(type=="add")<br>             {<br>                 b=Double.parseDouble(jtf.getText());<br>                 jtf.setText(Double.toString(a+b));<br>                 type="equal";<br>             }<br>             else if(type=="subtract")<br>             {<br>                 b=Double.parseDouble(jtf.getText());<br>                 jtf.setText(Double.toString(a-b));<br>                 type="equal";<br>             }<br>             else if(type=="multiply")<br>             {<br>                 b=Double.parseDouble(jtf.getText());<br>                 jtf.setText(Double.toString(a*b));<br>                 type="equal";<br>             }<br>             else if(type=="divide")<br>             {<br>                 b=Double.parseDouble(jtf.getText());<br>                 jtf.setText(Double.toString(a/b));<br>                 type="equal";<br>             }<br>         }<br>         <br>     }<br> }<br> <br> class Calculator extends JFrame<br> {<br>     public Calculator()<br>     {<br>         this.setTitle("计算?);<br>         this.getContentPane().add(new MyPanel());<br>         this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);<br>         setSize(300,250);<br>         setVisible(true);<br>     }<br>     <br>     public static void main(String args[])<br>     {<br>         new Calculator();<br>     }<br> }<img src ="http://www.aygfsteel.com/rickhunter/aggbug/13543.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/rickhunter/" target="_blank">千山鸟飞l?/a> 2005-09-20 17:31 <a href="http://www.aygfsteel.com/rickhunter/articles/13543.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>如何在TreeSet中添加两个不具可比性的对象Q?/title><link>http://www.aygfsteel.com/rickhunter/articles/13541.html</link><dc:creator>千山鸟飞l?/dc:creator><author>千山鸟飞l?/author><pubDate>Tue, 20 Sep 2005 09:29:00 GMT</pubDate><guid>http://www.aygfsteel.com/rickhunter/articles/13541.html</guid><wfw:comment>http://www.aygfsteel.com/rickhunter/comments/13541.html</wfw:comment><comments>http://www.aygfsteel.com/rickhunter/articles/13541.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.aygfsteel.com/rickhunter/comments/commentRss/13541.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/rickhunter/services/trackbacks/13541.html</trackback:ping><description><![CDATA[ import java.util.TreeSet;<br> <br> class treeset{<br>     public static void main(String[] args){<br>         TreeSet ts=new TreeSet();<br>         stud s1=new stud("张三");<br>         stud s2=new stud("李四");<br>         ts.add(s1);<br>         ts.add(s2);<br>         System.out.println(ts);<br>     }<br> }<br> <br> class stud implements Comparable{<br>      private String name;<br>      <br>      public stud(String name){<br>          this.name=name;<br>      }<br>      <br>      public int compareTo(Object o){<br>          stud s=(stud)o;<br>          int i=name.compareTo(s.name);<br>          return i;<br>      }<br>         <br>     public String toString(){<br>         return name;<br>     }<br>     <br> }<img src ="http://www.aygfsteel.com/rickhunter/aggbug/13541.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/rickhunter/" target="_blank">千山鸟飞l?/a> 2005-09-20 17:29 <a href="http://www.aygfsteel.com/rickhunter/articles/13541.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>用递归Ҏ(gu)列出目录Q在命o(h)行中指定目录?/title><link>http://www.aygfsteel.com/rickhunter/articles/13539.html</link><dc:creator>千山鸟飞l?/dc:creator><author>千山鸟飞l?/author><pubDate>Tue, 20 Sep 2005 09:28:00 GMT</pubDate><guid>http://www.aygfsteel.com/rickhunter/articles/13539.html</guid><wfw:comment>http://www.aygfsteel.com/rickhunter/comments/13539.html</wfw:comment><comments>http://www.aygfsteel.com/rickhunter/articles/13539.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.aygfsteel.com/rickhunter/comments/commentRss/13539.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/rickhunter/services/trackbacks/13539.html</trackback:ping><description><![CDATA[ import java.io.*;<br> <br>  class home3<br>  {<br>    public static void main(String[] args)<br>    {<br>       // 判断是否提供了命令行参数。没有就用默认的?br>        if (args.length == 0) args = new String[] { "C:/Flexlm" };<br> <br>        try<br>        {<br>           File f = new File(args[0]);<br>           String[] s = f.list();<br> <br>           // q代所有目录里面的文g?br>           for (int i = 0; i < s.length; i++)<br>           {<br>              File fl = new File(f.getPath(), s[i]);<br> <br>              // 如果文g是目录,则l调用主Ҏ(gu)?br>              if (fl.isDirectory())<br>              {<br>                 System.out.println(fl.getCanonicalPath());<br>                 main(new String [] { fl.getPath() });<br>              }<br>           }<br>        }<br>        catch(IOException e)<br>        {<br>           e.printStackTrace();<br>        }<br>     }<br>  }<img src ="http://www.aygfsteel.com/rickhunter/aggbug/13539.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/rickhunter/" target="_blank">千山鸟飞l?/a> 2005-09-20 17:28 <a href="http://www.aygfsteel.com/rickhunter/articles/13539.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss> <footer> <div class="friendship-link"> <a href="http://www.aygfsteel.com/" title="狠狠久久亚洲欧美专区_中文字幕亚洲综合久久202_国产精品亚洲第五区在线_日本免费网站视频">狠狠久久亚洲欧美专区_中文字幕亚洲综合久久202_国产精品亚洲第五区在线_日本免费网站视频</a> </div> </footer> վ֩ģ壺 <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">׸</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">ľ˹</a>| <a href="http://" target="_blank">̨</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">ά</a>| <a href="http://" target="_blank">Т</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">ɽ</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">Դ</a>| <a href="http://" target="_blank">ƽң</a>| <a href="http://" target="_blank">Դ</a>| <a href="http://" target="_blank">ˮ</a>| <a href="http://" target="_blank">̶</a>| <a href="http://" target="_blank">Ǧɽ</a>| <a href="http://" target="_blank">ƽ</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">Ժ</a>| <a href="http://" target="_blank">ľ</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">ף</a>| <a href="http://" target="_blank">ݳ</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <script> (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })(); </script> </body>