`

20个超级有用的Java程序片段(3)

    博客分类:
  • java
阅读更多

16. 解析/读取XML 文件

  Java代码

  1.  XML文件
  2.   <?xml version="1.0"?>
  3.   <students>
  4.   <student>
  5.   <name>John</name>
  6.   <grade>B</grade>
  7.   <age>12</age>
  8.   </student>
  9.   <student>
  10.   <name>Mary</name>
  11.   <grade>A</grade>
  12.   <age>11</age>
  13.   </student>
  14.   <student>
  15.   <name>Simon</name>
  16.   <grade>A</grade>
  17.   <age>18</age>
  18.   </student>
  19.   </students>
复制代码
Java代码
  1. package net.viralpatel.java.xmlparser;
  2.   import java.io.File;
  3.   import javax.xml.parsers.DocumentBuilder;
  4.   import javax.xml.parsers.DocumentBuilderFactory;
  5.   import org.w3c.dom.Document;
  6.   import org.w3c.dom.Element;
  7.   import org.w3c.dom.Node;
  8.   import org.w3c.dom.NodeList;
  9.   public class XMLParser {
  10.   public void getAllUserNames(String fileName) {
  11.   try {
  12.   DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
  13.   DocumentBuilder db = dbf.newDocumentBuilder();
  14.   File file = new File(fileName);
  15.   if (file.exists()) {
  16.   Document doc = db.parse(file);
  17.   Element docEle = doc.getDocumentElement();
  18.   // Print root element of the document
  19.   System.out.println("Root element of the document: "
  20.   + docEle.getNodeName());
  21.   NodeList studentList = docEle.getElementsByTagName("student");
  22.   // Print total student elements in document
  23.   System.out
  24.   .println("Total students: " + studentList.getLength());
  25.   if (studentList != null && studentList.getLength() > 0) {
  26.   for (int i = 0; i < studentList.getLength(); i++) {
  27.   Node node = studentList.item(i);
  28.   if (node.getNodeType() == Node.ELEMENT_NODE) {
  29.   System.out.println("=====================");
  30.   Element e = (Element) node;
  31.   NodeList nodeList = e.getElementsByTagName("name");
  32.   System.out.println("Name: "
  33.   + nodeList.item(0).getChildNodes().item(0)
  34.   .getNodeValue());
  35.   nodeList = e.getElementsByTagName("grade");
  36.   System.out.println("Grade: "
  37.   + nodeList.item(0).getChildNodes().item(0)
  38.   .getNodeValue());
  39.   nodeList = e.getElementsByTagName("age");
  40.   System.out.println("Age: "
  41.   + nodeList.item(0).getChildNodes().item(0)
  42.   .getNodeValue());
  43.   }
  44.   }
  45.   } else {
  46.   System.exit(1);
  47.   }
  48.   }
  49.   } catch (Exception e) {
  50.   System.out.println(e);
  51.   }
  52.   }
  53.   public static void main(String[] args) {
  54.   XMLParser parser = new XMLParser();
  55.   parser.getAllUserNames("c:\\test.xml");
  56.   }
  57.   }
复制代码
17. 把 Array 转换成 Map

  Java代码
  1.  import java.util.Map;
  2.   import org.apache.commons.lang.ArrayUtils;
  3.   public class Main {
  4.   public static void main(String[] args) {
  5.   String[][] countries = { { "United States", "New York" }, { "United Kingdom", "London" },
  6.   { "Netherland", "Amsterdam" }, { "Japan", "Tokyo" }, { "France", "Paris" } };
  7.   Map countryCapitals = ArrayUtils.toMap(countries);
  8.   System.out.println("Capital of Japan is " + countryCapitals.get("Japan"));
  9.   System.out.println("Capital of France is " + countryCapitals.get("France"));
  10.   }
  11.   }
复制代码
18. 发送邮件

  Java代码
  1. import javax.mail.*;
  2.   import javax.mail.internet.*;
  3.   import java.util.*;
  4.   public void postMail( String recipients[ ], String subject, String message , String from) throws MessagingException
  5.   {
  6.   boolean debug = false;
  7.   //Set the host smtp address
  8.   Properties props = new Properties();
  9.   props.put("mail.smtp.host", "smtp.example.com");
  10.   // create some properties and get the default Session
  11.   Session session = Session.getDefaultInstance(props, null);
  12.   session.setDebug(debug);
  13.   // create a message
  14.   Message msg = new MimeMessage(session);
  15.   // set the from and to address
  16.   InternetAddress addressFrom = new InternetAddress(from);
  17.   msg.setFrom(addressFrom);
  18.   InternetAddress[] addressTo = new InternetAddress[recipients.length];
  19.   for (int i = 0; i < recipients.length; i++)
  20.   {
  21.   addressTo[i] = new InternetAddress(recipients[i]);
  22.   }
  23.   msg.setRecipients(Message.RecipientType.TO, addressTo);
  24.   // Optional : You can also set your custom headers in the Email if you Want
  25.   msg.addHeader("MyHeaderName", "myHeaderValue");
  26.   // Setting the Subject and Content Type
  27.   msg.setSubject(subject);
  28.   msg.setContent(message, "text/plain");
  29.   Transport.send(msg);
  30.   }
复制代码
19. 发送代数据的HTTP 请求

  Java代码
  1. import java.io.BufferedReader;
  2.   import java.io.InputStreamReader;
  3.   import java.net.URL;
  4.   public class Main {
  5.   public static void main(String[] args)  {
  6.   try {
  7.   URL my_url = new URL("http://coolshell.cn/");
  8.   BufferedReader br = new BufferedReader(new InputStreamReader(my_url.openStream()));
  9.   String strTemp = "";
  10.   while(null != (strTemp = br.readLine())){
  11.   System.out.println(strTemp);
  12.   }
  13.   } catch (Exception ex) {
  14.   ex.printStackTrace();
  15.   }
  16.   }
  17.   }
复制代码
20. 改变数组的大小

  Java代码

  查看源代码打印帮助
  1.  /**
  2.   * Reallocates an array with a new size, and copies the contents
  3.   * of the old array to the new array.
  4.   * @param oldArray  the old array, to be reallocated.
  5.   * @param newSize   the new array size.
  6.   * @return          A new array with the same contents.
  7.   */
  8.   private static Object resizeArray (Object oldArray, int newSize) {
  9.   int oldSize = java.lang.reflect.Array.getLength(oldArray);
  10.   Class elementType = oldArray.getClass().getComponentType();
  11.   Object newArray = java.lang.reflect.Array.newInstance(
  12.   elementType,newSize);
  13.   int preserveLength = Math.min(oldSize,newSize);
  14.   if (preserveLength > 0)
  15.   System.arraycopy (oldArray,0,newArray,0,preserveLength);
  16.   return newArray;
  17.   }
  18.   // Test routine for resizeArray().
  19.   public static void main (String[] args) {
  20.   int[] a = {1,2,3};
  21.   a = (int[])resizeArray(a,5);
  22.   a[3] = 4;
  23.   a[4] = 5;
  24.   for (int i=0; i<a.length; i++)
  25.   System.out.println (a[i]);
  26.   }
复制代码

 

分享到:
评论

相关推荐

    20个超级有用的Java程序片段

    以下是一些常见的Java程序片段,涵盖了字符串处理、文件操作、日志记录、日期转换、数据库连接等多个方面。 1. **字符串与整型的相互转换** - `String.valueOf(int)` 方法用于将整型值转换为字符串。 - `Integer....

    java五子棋超级源代码

    通过对这段代码的分析,我们可以看到一个典型的Java Swing桌面应用程序是如何构建的。它不仅涉及基本的GUI组件如`JFrame`、`JPanel`、`JMenuBar`等,还包括了更高级的概念如模型-视图-控制器(MVC)架构模式的应用、...

    C++调用java代码的JNI实现

    这对于提高性能、访问硬件资源以及与其他非Java语言编写的应用程序进行交互都非常有用。 ### JAVA代码结构与功能 #### powersys.util.JNITools 类 这个类是用于执行用户身份验证和权限检查的核心类。主要包括以下...

    超级马里奥游戏素材.zip

    《超级马里奥游戏素材.zip》是一个集合了马里奥游戏相关图片、音频以及Java多媒体包的压缩文件,主要用于游戏开发或对马里奥游戏感兴趣的爱好者进行资源参考和学习。这个压缩包的内容主要包括两个核心部分:图形资源...

    jsp网页超级给力的。自己期末作业

    3. **JSP脚本元素**:包括`&lt;scriptlet&gt;`, `&lt;expression&gt;`和`&lt;declaration&gt;`,它们分别用于编写Java代码片段、输出变量值和声明变量或方法。 4. **JSP表达式**:以`${}`包裹,用于将Java表达式的值转换为字符串并...

    超级炫的一个Android效果

    在Android开发领域,炫酷的效果往往能够提升用户体验,吸引用户注意力...通过学习以上知识点,并结合实际项目中的"超级炫的一个Android效果",开发者可以创造出引人注目的互动体验,提高应用程序的吸引力和用户满意度。

    超级菜单支持库

    【超级菜单支持库】是一种专为开发者设计的软件组件,旨在简化应用程序中复杂菜单系统的创建和管理。在Android开发环境中,菜单系统是用户界面的重要组成部分,用于提供多种操作选项,而【超级菜单支持库】则提供了...

    超级强大的代码收集器

    它允许用户将不同语言(如C#、Java、Python、JavaScript等)的代码片段分类存储,每个代码段都可能附带详细注释和使用场景,这对于理解和复用代码至关重要。此外,预置的库中包含了各种经典案例,这些案例涵盖了常见...

    超级好的纯jsp写的聊天室

    【标题】"超级好的纯jsp写的聊天室"揭示了一个基于JavaServer Pages(JSP)技术构建的在线聊天室系统。JSP是一种动态网页开发技术,它允许开发者在HTML或XML文档中嵌入Java代码,从而在服务器端处理数据并生成响应的...

    超级代码助手(管理记录代码的工具)

    动态链接库的优点在于,它可以被多个程序共享,减少了内存占用,同时也能方便地更新和维护功能。 "config.ini"文件则是软件的配置信息存储位置,用户可以通过修改这个文件来定制工具的界面、快捷键设置、默认行为等...

    超级好使的API速看器

    2. **代码片段生成**:工具可以直接生成调用API的代码片段,支持多种编程语言,如Java、Python、JavaScript等,帮助开发者快速集成API。 3. **实时预览与调试**:有些API查看器提供接口测试功能,允许用户输入参数...

    超级实用的前端静态资源demo

    在这个demo中,可能包含了一些JavaScript代码片段或者引用了外部的JS库,用于实现如按钮点击事件、页面跳转等功能。 "jsp"标签暗示了这个资源包可能与Java服务器页面有关,这是一种服务器端脚本技术,允许开发者将...

    超级jsp学习资料 很好

    总的来说,这个“超级jsp学习资料”压缩包提供了一个全面的JSP学习路径,从基础概念到实践应用,覆盖了JSP开发的各个方面。无论是自学还是教学,都能从中受益匪浅。通过系统地学习和实践,你将能够熟练掌握JSP技术,...

    jsp程序设计笔试填空及答案.pdf

    3. `import`属性:页面指令中的`import`属性可以多次使用,用来导入Java类或包,使得在JSP页面中可以直接使用这些类。 4. 表达式:`&lt;%= ... %&gt;`用于将Java表达式的值输出到页面上。 5. 声明标识:`! ... %&gt;`之间的...

    超级坦克代码

    在这个例子中,创建了一个新的 `Thread` 对象并将其启动,这样可以让子弹在单独的线程中移动,与游戏的主要逻辑分离,从而提高程序的整体性能和响应速度。 ### 4. 坦克游戏的设计 #### 4.1 游戏对象的状态管理 ...

    ACM入门习题一百道.doc(超级详细)

    - **比赛形式**:通常由三人组成一个队伍,在五个小时内解决8-13个问题,每个问题都是一个实际的应用场景,需要通过编写程序来解决。 ### 2. 数据结构与算法基础 文档中的习题很可能会涵盖以下几种常见的数据结构...

    超级完整的Android面试题(附答案)

    在第一个问题中,题目询问了不同类型的 Java IO 流。正确答案是 **(C)**,即 `FileInputStream` 和 **(G)** `FilterInputStream`。 - **A. FileInputStream**:用于从文件系统中的某个文件中读取字节。 - **B. ...

    正大软件集团jsp教程

    3. **脚本元素**:我们将深入探讨JSP中的脚本元素,如声明(declarations)、表达式(expressions)、脚本片段(scriptlets)和注释(comments),如何在页面中插入和执行Java代码。 4. **EL(Expression Language...

    xan.rar_screentcn_对话框与窗口

    "RSample_MapHyperLink"这个文件名可能是一个示例或代码片段,展示了如何在程序中实现图片作为地图的超链接,这可能涉及到地理信息系统(GIS)或Web地图服务的知识,比如如何使用JavaScript库(如Leaflet或...

    NetBeans的默认快捷键和代码模板-快速参考

    3. 自动完成字符串:Ctrl+L Ctrl+K - 这个组合键用于自动输入预定义的字符串,每次按键会插入一个新的字符串。 4. 右键菜单:修复自动导入和格式化代码风格 - 右键点击代码可以访问这些功能,方便修复导入问题和调整...

Global site tag (gtag.js) - Google Analytics