08-03 网络通信(UDP) URL XML解析器 JSON、DOM、SAX 枚举
2015-08-03 21:27
507 查看
网络通信(UDP)
XML解析器 JSON、DOM、SAX
URL
枚举
//**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) thro baee ws 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; } }
相关文章推荐
- JAVA网络编程
- UNIX网络编程 学习1
- 网络连接
- 黑马程序员——Java基础---网络编程
- 【HTTP】Http报文
- 《TCP/IP入门经典》——网际层
- 最小费用最大流:HDU3488
- httpGet()中拼接请求URL
- CentOS6.5中的网络配置(静态IP设置)
- UNIX网络编程卷一:第四章 基本TCP套接字编程
- 【linux高级程序设计】(第十三章)Linux Socket网络编程基础 4
- 网络连接
- 高并发网络编程之epoll详解
- Xcode 7 App Transport Security has blocked a cleartext HTTP 报错解决办法
- 【linux高级程序设计】(第十三章)Linux Socket网络编程基础 3
- 神经网络中的反向传播算法
- iOS开发网络篇—监测网络状态
- java - (05) Html与Http
- android 网络请求框架总结(一)
- Java网络编程(三)