08-03 网络通信(UDP) URL XML解析器 JSON、DOM、SAX 枚举

来源:互联网 发布:淘宝开店上传照片要求 编辑:程序博客网 时间:2024/06/07 14:53

网络通信(UDP)

//**MySend**public class MySend {    public static void main(String[] args) {        try {            DatagramSocket send=new DatagramSocket();            DatagramSocket receiver=new DatagramSocket(8080);            Scanner scanner=new Scanner(System.in);            while(true){                String s=scanner.next();                byte[] array=s.getBytes();                              System.out.println("Send:"+s);                DatagramPacket packet=new DatagramPacket(array, array.length, InetAddress.getByName("192.168.0.141"), 8088);                                send.send(packet);                byte[] receiverArray=new byte[1024];                DatagramPacket packetReceiver=new DatagramPacket(receiverArray, 1024);                receiver.receive(packetReceiver);                byte[] date=packetReceiver.getData();                System.out.println("Send接收到的数据:"+new String(date,0,date.length));            }        } catch (SocketException e) {            // TODO Auto-generated catch block            e.printStackTrace();        } catch (UnknownHostException e) {            // TODO Auto-generated catch block            e.printStackTrace();        } catch (IOException e) {            // TODO Auto-generated catch block            e.printStackTrace();        }                   }}//**MyServer**public class MyReceiver {       public static void main(String[] args) {        try {            DatagramSocket receiver=new DatagramSocket(8088);            DatagramSocket send=new DatagramSocket();                       Scanner scanner=new Scanner(System.in);            while(true){                byte[] array=new byte[1024];                DatagramPacket packet=new DatagramPacket(array,1024);                               receiver.receive(packet);                byte[] date=packet.getData();                System.out.println("Receiver接收到的数据:"+new String(date,0,date.length));                String sendString=scanner.next();                               byte[] sendByte=sendString.getBytes();                System.out.println("Receiver:"+sendString);                DatagramPacket packetSend=new DatagramPacket(sendByte, sendByte.length, InetAddress.getByName("192.168.0.141"), 8080);                                          send.send(packetSend);            }        } catch (SocketException e) {            // TODO Auto-generated catch block            e.printStackTrace();        } catch (IOException e) {            // TODO Auto-generated catch block            e.printStackTrace();        }    }}

XML解析器 JSON、DOM、SAX

//**JSON解析器**public class Test03 {    public static void main(String[] args) {        String json=createJSON();        JSONObject obj=JSONObject.fromObject(json);        System.out.println(obj.getString("city"));        JSONObject today=obj.getJSONObject("today");        JSONArray array=today.getJSONArray("index");        for (int i = 0; i < array.size(); i++) {            JSONObject obj1=array.getJSONObject(i);            System.out.println(obj1.get("name"));        }           }    private static String createJSON() {        JSONObject obj=new JSONObject();        obj.put("city", "北京");        obj.put("cityid", "001");        JSONObject today=new JSONObject();        today.put("date", "2015-08-03");        today.put("week", "星期一");        JSONArray array=new JSONArray();        JSONObject index1=new JSONObject();        index1.put("name", "感冒");        JSONObject index2=new JSONObject();        index2.put("name", "炎热");        JSONObject index3=new JSONObject();        index3.put("name", "防晒");        array.add(index1);        array.add(index2);        array.add(index3);        today.put("index", array);        obj.put("today", today);        System.out.println(obj.toString());        return obj.toString();    }}//**DOM解析器**public class DOMTest {    public static void main(String[] args) {        DocumentBuilderFactory factory=DocumentBuilderFactory.newInstance();        try {            DocumentBuilder builder=factory.newDocumentBuilder();            Document document=builder.parse("d:\\11.txt");            NodeList list=document.getElementsByTagName("Weather");            Node node=list.item(0);            Node child=node.getFirstChild();            Node next=child.getNextSibling();            while(next!=null){                if(next.getNodeType()==Node.ELEMENT_NODE){                    Node content=next.getFirstChild();                    if(content!=null){                        System.out.println(next.getFirstChild().getNodeValue().trim());                    }                }                next=next.getNextSibling();            }        } catch (ParserConfigurationException e) {            // TODO Auto-generated catch block            e.printStackTrace();        } catch (SAXException e) {            // TODO Auto-generated catch block            e.printStackTrace();        } catch (IOException e) {            // TODO Auto-generated catch block            e.printStackTrace();        }    }}//**SAX解析器**public class MySAXHandler extends DefaultHandler{    boolean isArrive=true;    @Override    public void characters(char[] ch, int start, int length) throws SAXException {              super.characters(ch, start, length);        if(isArrive){            System.out.println("我终于查到这个xcz的值了"+new String(ch,start,length));        }        System.out.println(new String(ch,start,length));    }    @Override    public void endDocument() throws SAXException {             super.endDocument();        System.out.println("解析文档结束");    }    @Override    public void endElement(String uri, String localName, String qName) throws SAXException {        super.endElement(uri, localName, qName);        System.out.println(localName+"标签结束"+qName);        isArrive=false;    }    @Override    public void startDocument() throws SAXException {               super.startDocument();        System.out.println("解析文档开始");    }    @Override    public void startElement(String uri, String localName, String qName, Attributes attributes) throws SAXException {               super.startElement(uri, localName, qName, attributes);        isArrive=qName.equals("xcz");        System.out.println(localName+"标签开始"+qName);    }}public class Test {    public static void main(String[] args) {        SAXParserFactory factory=SAXParserFactory.newInstance();        try {            SAXParser parser=factory.newSAXParser();            MySAXHandler handler=new MySAXHandler();            parser.parse(new File("d:\\11.txt"), handler);                  } catch (ParserConfigurationException e) {            // TODO Auto-generated catch block            e.printStackTrace();        } catch (SAXException e) {            // TODO Auto-generated catch block            e.printStackTrace();        } catch (IOException e) {            // TODO Auto-generated catch block            e.printStackTrace();        }           }}

URL

public class Test {    public static void main(String[] args) {    //百度网址        try {            URL url=new URL("http://www.baidu.com/");            InputStream is=url.openStream();            InputStreamReader isr=new InputStreamReader(is);            BufferedReader br=new BufferedReader(isr);            String line=br.readLine();            while(line!=null){                System.out.println(line);                line=br.readLine();                         }        } catch (MalformedURLException e) {            // TODO Auto-generated catch block            e.printStackTrace();        } catch (IOException e) {            // TODO Auto-generated catch block            e.printStackTrace();        }        try {            URL url=new URL("http://g.hiphotos.baidu.com/baike/c0%3Dbaike150%2C5%2C5%2C150%2C50/sign=cc809c888bd4b31ce4319ce9e6bf4c1a/54fbb2fb43166d22c927925f462309f79152d2ad.jpg");            File fileImp=new File("d://z.jpg");            while(!fileImp.exists()){                fileImp.createNewFile();            }            OutputStream os=new FileOutputStream(fileImp);            InputStream is=url.openStream();            byte[] array=new byte[1024];            int i=is.read(array);            while(i!=-1){                os.write(array, 0, i);                i=is.read(array);            }            os.flush();            os.close();            is.close();        } catch (MalformedURLException e) {            // TODO Auto-generated catch block            e.printStackTrace();        } catch (IOException e) {            // TODO Auto-generated catch block            e.printStackTrace();        }    }}

枚举

public enum Sex {    MALE,FEMALE}public class Student {    private int age;    private Sex sex;    public int getAge() {        return age;    }    public void setAge(int age) {        this.age = age;    }    public Sex getSex() {        return sex;    }    public void setSex(Sex sex) {        this.sex = sex;    }}
0 0