15. 创建ZIP和JAR文件

  1. import java.util.zip.*;

  2. import java.io.*;

  3. publicclass ZipIt {

  4. publicstaticvoid main(String args[]) throws IOException {

  5. if (args.length < 2) {

  6. System.err.println("usage: java ZipIt Zip.zip file1 file2 file3");

  7. System.exit(-1);

  8. }

  9. File zipFile = new File(args[0]);

  10. if (zipFile.exists()) {

  11. System.err.println("Zip file already exists, please try another");

  12. System.exit(-2);

  13. }

  14. FileOutputStream fos = new FileOutputStream(zipFile);

  15. ZipOutputStream zos = new ZipOutputStream(fos);

  16. int bytesRead;

  17. byte[] buffer = newbyte[1024];

  18. CRC32 crc = new CRC32();

  19. for (int i=1, n=args.length; i < n; i++) {

  20. String name = args[i];

  21. File file = new File(name);

  22. if (!file.exists()) {

  23. System.err.println("Skipping: " + name);

  24. continue;

  25. }

  26. BufferedInputStream bis = new BufferedInputStream(

  27. new FileInputStream(file));

  28. crc.reset();

  29. while ((bytesRead = bis.read(buffer)) != -1) {

  30. crc.update(buffer, 0, bytesRead);

  31. }

  32. bis.close();

  33. // Reset to beginning of input stream

  34. bis = new BufferedInputStream(

  35. new FileInputStream(file));

  36. ZipEntry entry = new ZipEntry(name);

  37. entry.setMethod(ZipEntry.STORED);

  38. entry.setCompressedSize(file.length());

  39. entry.setSize(file.length());

  40. entry.setCrc(crc.getValue());

  41. zos.putNextEntry(entry);

  42. while ((bytesRead = bis.read(buffer)) != -1) {

  43. zos.write(buffer, 0, bytesRead);

  44. }

  45. bis.close();

  46. }

  47. zos.close();

  48. }

  49. }

16. 解析/读取XML 文件

XML文件

  1. <?xmlversion="1.0"?>

  2. <students>

  3. <student>

  4. <name>John</name>

  5. <grade>B</grade>

  6. <age>12</age>

  7. </student>

  8. <student>

  9. <name>Mary</name>

  10. <grade>A</grade>

  11. <age>11</age>

  12. </student>

  13. <student>

  14. <name>Simon</name>

  15. <grade>A</grade>

  16. <age>18</age>

  17. </student>

  18. </students>

Java代码:

  1. ackage 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. publicclass XMLParser {

  10. publicvoid 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

  30. .println("=====================");

  31. Element e = (Element) node;

  32. NodeList nodeList = e.getElementsByTagName("name");

  33. System.out.println("Name: "

  34. + nodeList.item(0).getChildNodes().item(0)

  35. .getNodeValue());

  36. nodeList = e.getElementsByTagName("grade");

  37. System.out.println("Grade: "

  38. + nodeList.item(0).getChildNodes().item(0)

  39. .getNodeValue());

  40. nodeList = e.getElementsByTagName("age");

  41. System.out.println("Age: "

  42. + nodeList.item(0).getChildNodes().item(0)

  43. .getNodeValue());

  44. }

  45. }

  46. } else {

  47. System.exit(1);

  48. }

  49. }

  50. } catch (Exception e) {

  51. System.out.println(e);

  52. }

  53. }

  54. publicstaticvoid main(String[] args) {

  55. XMLParser parser = new XMLParser();

  56. parser.getAllUserNames("c:\\test.xml");

  57. }

  58. }

转载于:https://blog.51cto.com/yangxianhong/1222088

20非常有用的Java程序片段(3)相关推荐

  1. 20非常有用的Java程序片段(1)

    下面是20个非常有用的Java程序片段,希望能对你有用. 1. 字符串有整型的相互转换 String a = String.valueOf(2);   //integer to numeric str ...

  2. 20非常有用的Java程序片段(11-15)

    11. HTTP 代理设置 阅读这篇 文章 了解更多细节. 1 2 3 4 5 System.getProperties().put("http.proxyHost", " ...

  3. 20个非常有用的Java程序片段

    20个非常有用的Java程序片段 来源:码农网   时间:2015-03-17 10:23:28   阅读数:1057 分享到:0 [导读] 下面是20个非常有用的Java程序片段,希望能对你有用.1 ...

  4. 20个非常有用的Java程序片段--转

    原文地址:http://geek.csdn.net/news/detail/236591 下面是20个非常有用的Java程序片段,希望能对你有用. 1. 字符串有整型的相互转换 String a = ...

  5. java 程序片段_20个非常有用的Java程序片段

    1. 字符串有整型的相互转换 Java代码 String a = String.valueOf(2);   //integer to numeric string int i = Integer.pa ...

  6. 应用Java程序片段动态生成表格

    通过Jsp页面动态来显示数据库中的数据,在根据条件进行查询时,将调查结果显示在jsp页面中,使用java程序片段(Scriptlet)动态生成表格 在jsp文件中,可以在"<%&quo ...

  7. 分享非常有用的Java程序(关键代码)(七)---抓屏程序

    原文:分享非常有用的Java程序(关键代码)(七)---抓屏程序 import java.awt.Dimension; import java.awt.Rectangle; import java.a ...

  8. 一种基于DFA算法的敏感词检测JAVA程序片段

    本文章提供一种基于DFA算法的敏感词检测JAVA程序片段,如下: 1.构造多叉树数据结构 import org.jetbrains.annotations.NotNull;/*** 多叉树* @aut ...

  9. 应用Java程序片段动态生成下拉列表

    从数据库读取数据是,需要将某些数据动态添加到下拉列表中 在下拉列表的选项中,应用的是Java表达式标记输出的数组元素,Java表达式的标记为"<%="和"%> ...

最新文章

  1. 谷歌Jeff Dean团队提出利用深度学习对「电子健康记录」数据进行分析,可提高医疗诊断预测的准确性
  2. pythondistutils安装_python – 与distutils / pip一起安装Bash完成
  3. wind试用版 matlab,免费产品试用 - MATLAB Simulink
  4. ★ Learn how you can use Adobe Creative Suite to create skins for Flex and AIR applications.
  5. 《UTF-8与GB2312之间的互换》的改进
  6. Systemd 入门教程:命令篇、实战篇
  7. 1瓦功耗,5GHz频率:全球最快Risc-V芯片出世,效率超越苹果M1
  8. 关于微信卡券网页跳转链接能力的下线
  9. LANP源码安装注释版
  10. 国产化操作系统安装OpenJDK Icedtea插件
  11. 雅戈尔关于媒体报道出澄清公告 谨防股价变动
  12. Originpro绘制y轴偏移堆积图无法设置偏移量
  13. Echarts 双柱状图+折线图合并---实现效果详解(vue+Echarts实现)
  14. ZYNQ PS部分简介
  15. 如何用excel搭建数据模型,销售数据管理软件
  16. vscode向下复制快捷键更改
  17. 求最大公因数的三种算法及简要说明
  18. 背包问题 2020年小米校招JAVA岗笔试第二题
  19. 服务器不稳定补偿,部分服务器网络波动及中都临时维护补偿
  20. python脚本案例-python脚本范例

热门文章

  1. WebService 之 WSDL文件 讲解
  2. 三十岁前不要去在乎的29件事
  3. [Nginx]用Nginx实现与应用结合的訪问控制 - 防盗链
  4. 子报表修改后需要重新导入,0.00显示.00的调整方法
  5. 系统设计4:Web服务和流量限制
  6. SocketLog安装
  7. 第二阶段--团队冲刺--第二天
  8. 进击的UI------------------UISegmentedControlUISlide
  9. android中活动的启动模式
  10. BibTex (.bib) 文件的凝视