8.3java学习笔记

编程入门 行业动态 更新时间:2024-10-20 16:49:16

8.3java<a href=https://www.elefans.com/category/jswz/34/1770117.html style=学习笔记"/>

8.3java学习笔记

java

知识点

URL

打印一个网址的信息
try {URL url = new URL("");InputStream is = url.openStream();BufferedReader br = new BufferedReader(new InputStreamReader(is));String content = br.readLine();while(content!=null){System.out.println(content);content = br.readLine();}} catch (MalformedURLException e) {e.printStackTrace();} catch (IOException e) {e.printStackTrace();}
将一个地址的图片复制到本地
try {URL url = new URL(".thumb.600_0.jpg");File fileCopy = new File("d:\\image.jpeg");if(!fileCopy.exists()){fileCopy.createNewFile();}InputStream is = url.openStream();OutputStream os = new FileOutputStream(fileCopy);//BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(os));byte[] array = new byte[1024];int len = is.read(array);while(len!=-1){os.write(array, 0, len);len = is.read(array);}os.flush();is.close();os.close();} catch (MalformedURLException e) {e.printStackTrace();} catch (IOException e) {e.printStackTrace();}

UDP互联(非多线程)

接收方
public class UDPReceiver {public static void main(String[] args) {DatagramSocket receiver;DatagramPacket packetR;DatagramSocket send;DatagramPacket packetS;Scanner scanner = new Scanner(System.in);try {receiver = new DatagramSocket(8080, InetAddress.getLocalHost());send = new DatagramSocket();byte[] array = new byte[1024];while(true){packetR = new DatagramPacket(array, 1024);receiver.receive(packetR);System.out.println(new String(packetR.getData()));String s = "小明:"+scanner.next();byte[] arrayS = s.getBytes();packetS = new DatagramPacket(arrayS,arrayS.length, InetAddress.getByName("192.168.0.65"), 8088);send.send(packetS);System.out.println("已发送");}} catch (SocketException e) {e.printStackTrace();} catch (UnknownHostException e) {e.printStackTrace();} catch (IOException e) {e.printStackTrace();}}}
发送方
public class UDPSend {public static void main(String[] args) {DatagramSocket receiver;DatagramPacket packetR;DatagramSocket send;DatagramPacket packetS;Scanner scanner = new Scanner(System.in);try {receiver = new DatagramSocket(8088, InetAddress.getLocalHost());send = new DatagramSocket();byte[] array = new byte[1024];while(true){String s = "小红:"+scanner.next();byte[] arrayS = s.getBytes();packetS = new DatagramPacket(arrayS,arrayS.length, InetAddress.getByName("192.168.0.65"), 8080);send.send(packetS);System.out.println("已发送");packetR = new DatagramPacket(array, 1024);receiver.receive(packetR);System.out.println(new String(packetR.getData()));}} catch (SocketException e) {e.printStackTrace();} catch (UnknownHostException e) {e.printStackTrace();} catch (IOException e) {e.printStackTrace();}}
}

XML数据解析

DOM解析
    DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();//创建dom解析器的工厂try {DocumentBuilder builder = factory.newDocumentBuilder(); //使用解析器工厂创建一个解析器Document document = builder.parse("C:\\11.txt");    //使用解析器解析文档设生成倒树的documentNodeList list = document.getElementsByTagName("Weather");//得到文档中的所有weather标签Node node = list.item(0);                           //得到第一个weatherNode child = node.getFirstChild();              //得到weather标签的第一个子标签cityNode next = child.getNextSibling();             //得到city的下一个标签while(next!=null){                              //判断有没有走到最后一个标签if(next.getNodeType()==Node.ELEMENT_NODE){  //判断节点类型是ELEMENT_NODENode content = next.getFirstChild();    //得到该节点的第一个子节点不能为空if(content!=null){System.out.println(next.getFirstChild().getNodeValue().trim());}}next = next.getNextSibling();           //得到下一个标签}} catch (ParserConfigurationException e) {e.printStackTrace();} catch (SAXException e) {e.printStackTrace();} catch (IOException e) {e.printStackTrace();}
}
SAX解析

新建一个继承于DefaultHandler的类

import org.xml.sax.Attributes;
import org.xml.sax.SAXException;
import org.xml.sax.helpers.DefaultHandler;public class MySAXHandler extends DefaultHandler{private boolean isArrive = false;@Overridepublic void characters(char[] ch, int start, int length) throws SAXException {super.characters(ch, start, length);if(isArrive){System.out.println("解析到需要的内容:");System.out.println(new String(ch,start,length));}}@Overridepublic void endDocument() throws SAXException {super.endDocument();System.out.println("解析文档结束");}@Overridepublic void endElement(String uri, String localName, String qName) throws SAXException {super.endElement(uri, localName, qName);isArrive = false;System.out.println(localName+"解析到结束标签:"+qName);}@Overridepublic void startDocument() throws SAXException {super.startDocument();System.out.println("开始解析文档");}@Overridepublic void startElement(String uri, String localName, String qName, Attributes attributes) throws SAXException {super.startElement(uri, localName, qName, attributes);isArrive = qName.equals("city");System.out.println(localName+"解析到开始标签:"+qName);}}
public class TestSax {public static void main(String[] args) {SAXParserFactory factory = SAXParserFactory.newInstance();try {SAXParser parser = factory.newSAXParser();MySAXHandler handler = new MySAXHandler();parser.parse(new File("c:\\11.txt"), handler);} catch (ParserConfigurationException e) {e.printStackTrace();} catch (SAXException e) {e.printStackTrace();} catch (IOException e) {e.printStackTrace();}}}

JSON解析

import net.sf.json.JSONArray;
import net.sf.json.JSONObject;public class TestJSON {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.getString("name"));}}private static String createJSON(){JSONObject obj = new JSONObject();obj.put("city", "北京");obj.put("cityid", "12345546");JSONObject today = new JSONObject();today.put("date", "2015-8-03");today.put("week", "星期一");JSONArray array = new JSONArray();JSONObject index1 = new JSONObject();index1.put("name", "吃饭");index1.put("name", "砍人");JSONObject index2 = new JSONObject();index2.put("name", "喝酒");JSONObject index3 = new JSONObject();index3.put("name", "唱K");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();}
}

运行结果:

更多推荐

8.3java学习笔记

本文发布于:2024-03-23 18:09:25,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1741223.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:学习笔记   java

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!