`

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

    博客分类:
  • J2SE
阅读更多

12. 单实例Singleton 示例

请先阅读这篇文章 了解更多信息

view source
<embed id="highlighter_35199_clipboard" title="copy to clipboard" type="application/x-shockwave-flash" width="16" height="16" src="http://cocre.com/wp-content/plugins/syntaxhighlighter/syntaxhighlighter/scripts/clipboard.swf" lk_media="yes" lk_mediaid="lk_juiceapp_mediaPopup_1243315889019" allowscriptaccess="always" wmode="transparent" flashvars="highlighterId=highlighter_35199" menu="false"></embed>
print ?
01.    
02. public class SimpleSingleton {  
03.      private static SimpleSingleton singleInstance =  new SimpleSingleton();  
04.    
05.      //Marking default constructor private  
06.      //to avoid direct instantiation.  
07.      private SimpleSingleton() {  
08.      }  
09.    
10.      //Get instance for class SimpleSingleton  
11.      public static SimpleSingleton getInstance() {  
12.    
13.          return singleInstance;  
14.      }  
15.

另一种实现

view source
<embed id="highlighter_120550_clipboard" title="copy to clipboard" type="application/x-shockwave-flash" width="16" height="16" src="http://cocre.com/wp-content/plugins/syntaxhighlighter/syntaxhighlighter/scripts/clipboard.swf" lk_media="yes" lk_mediaid="lk_juiceapp_mediaPopup_1243315889023" allowscriptaccess="always" wmode="transparent" flashvars="highlighterId=highlighter_120550" menu="false"></embed>
print ?
1. public enum SimpleSingleton {  
2.      INSTANCE;  
3.      public void doSomething() {  
4.      }  
5. }  
6.    
7. //Call the method from Singleton:  
8. SimpleSingleton.INSTANCE.doSomething(); 

13. 抓屏程序

阅读这篇文章 获得更多信息。

view source
<embed id="highlighter_817602_clipboard" title="copy to clipboard" type="application/x-shockwave-flash" width="16" height="16" src="http://cocre.com/wp-content/plugins/syntaxhighlighter/syntaxhighlighter/scripts/clipboard.swf" lk_media="yes" lk_mediaid="lk_juiceapp_mediaPopup_1243315889027" allowscriptaccess="always" wmode="transparent" flashvars="highlighterId=highlighter_817602" menu="false"></embed>
print ?
01. import java.awt.Dimension;  
02. import java.awt.Rectangle;  
03. import java.awt.Robot;  
04. import java.awt.Toolkit;  
05. import java.awt.image.BufferedImage;  
06. import javax.imageio.ImageIO;  
07. import java.io.File;  
08.    
09. ...  
10.    
11. public void captureScreen(String fileName) throws Exception {  
12.    
13.     Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();  
14.     Rectangle screenRectangle = new Rectangle(screenSize);  
15.     Robot robot = new Robot();  
16.     BufferedImage image = robot.createScreenCapture(screenRectangle);  
17.     ImageIO.write(image, "png" , new File(fileName));  
18.    
19. }  
20. ... 

 

 

14. 列出文件和目录

view source
<embed id="highlighter_1356_clipboard" title="copy to clipboard" type="application/x-shockwave-flash" width="16" height="16" src="http://cocre.com/wp-content/plugins/syntaxhighlighter/syntaxhighlighter/scripts/clipboard.swf" lk_media="yes" lk_mediaid="lk_juiceapp_mediaPopup_1243315889031" allowscriptaccess="always" wmode="transparent" flashvars="highlighterId=highlighter_1356" menu="false"></embed>
print ?
01. File dir = new File( "directoryName" );  
02.    String[] children = dir.list();  
03.    if (children == null ) {  
04.        // Either dir does not exist or is not a directory  
05.    } else {  
06.        for ( int i= 0 ; i < children.length; i++) {  
07.            // Get filename of file or directory  
08.            String filename = children[i];  
09.        }  
10.    }  
11.    
12.    // It is also possible to filter the list of returned files.  
13.    // This example does not return any files that start with `.'.  
14.    FilenameFilter filter = new FilenameFilter() {  
15.        public boolean accept(File dir, String name) {  
16.            return !name.startsWith( "." );  
17.        }  
18.    };  
19.    children = dir.list(filter);  
20.    
21.    // The list of files can also be retrieved as File objects  
22.    File[] files = dir.listFiles();  
23.    
24.    // This filter only returns directories  
25.    FileFilter fileFilter = new FileFilter() {  
26.        public boolean accept(File file) {  
27.            return file.isDirectory();  
28.        }  
29.    };  
30.    files = dir.listFiles(fileFilter); 

15. 创建ZIP和JAR文件

view source
<embed id="highlighter_695137_clipboard" title="copy to clipboard" type="application/x-shockwave-flash" width="16" height="16" src="http://cocre.com/wp-content/plugins/syntaxhighlighter/syntaxhighlighter/scripts/clipboard.swf" lk_media="yes" lk_mediaid="lk_juiceapp_mediaPopup_1243315889035" allowscriptaccess="always" wmode="transparent" flashvars="highlighterId=highlighter_695137" menu="false"></embed>
print ?
01.    
02. import java.util.zip.*;  
03. import java.io.*;  
04.    
05. public class ZipIt {  
06.      public static void main(String args[]) throws IOException {  
07.          if (args.length < 2 ) {  
08.              System.err.println( "usage: java ZipIt Zip.zip file1 file2 file3" );  
09.              System.exit(- 1 );  
10.          }  
11.          File zipFile = new File(args[ 0 ]);  
12.          if (zipFile.exists()) {  
13.              System.err.println( "Zip file already exists, please try another" );  
14.              System.exit(- 2 );  
15.          }  
16.          FileOutputStream fos = new FileOutputStream(zipFile);  
17.          ZipOutputStream zos = new ZipOutputStream(fos);  
18.          int bytesRead;  
19.          byte [] buffer = new byte [ 1024 ];  
20.          CRC32 crc = new CRC32();  
21.          for ( int i= 1 , n=args.length; i < n; i++) {  
22.              String name = args[i];  
23.              File file = new File(name);  
24.              if (!file.exists()) {  
25.                  System.err.println( "Skipping: " + name);  
26.                  continue ;  
27.              }  
28.              BufferedInputStream bis = new BufferedInputStream(  
29.                  new FileInputStream(file));  
30.              crc.reset();  
31.              while ((bytesRead = bis.read(buffer)) != - 1 ) {  
32.                  crc.update(buffer, 0 , bytesRead);  
33.              }  
34.              bis.close();  
35.              // Reset to beginning of input stream  
36.              bis = new BufferedInputStream(  
37.                  new FileInputStream(file));  
38.              ZipEntry entry = new ZipEntry(name);  
39.              entry.setMethod(ZipEntry.STORED);  
40.              entry.setCompressedSize(file.length());  
41.              entry.setSize(file.length());  
42.              entry.setCrc(crc.getValue());  
43.              zos.putNextEntry(entry);  
44.              while ((bytesRead = bis.read(buffer)) != - 1 ) {  
45.                  zos.write(buffer, 0 , bytesRead);  
46.              }  
47.              bis.close();  
48.          }  
49.          zos.close();  
50.      }  
51.

16. 解析/读取XML 文件

XML文件

view source
<embed id="highlighter_879090_clipboard" title="copy to clipboard" type="application/x-shockwave-flash" width="16" height="16" src="http://cocre.com/wp-content/plugins/syntaxhighlighter/syntaxhighlighter/scripts/clipboard.swf" lk_media="yes" lk_mediaid="lk_juiceapp_mediaPopup_1243315889039" allowscriptaccess="always" wmode="transparent" flashvars="highlighterId=highlighter_879090" menu="false"></embed>
print ?
01. <? xml version = "1.0" ?> 
02. < students
03.      < student
04.          < name >John</ name
05.          < grade >B</ grade
06.          < age >12</ age
07.      </ student
08.      < student
09.          < 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代码

view source
<embed id="highlighter_40476_clipboard" title="copy to clipboard" type="application/x-shockwave-flash" width="16" height="16" src="http://cocre.com/wp-content/plugins/syntaxhighlighter/syntaxhighlighter/scripts/clipboard.swf" lk_media="yes" lk_mediaid="lk_juiceapp_mediaPopup_1243315889043" allowscriptaccess="always" wmode="transparent" flashvars="highlighterId=highlighter_40476" menu="false"></embed>
print ?
01.    
02. package net.viralpatel.java.xmlparser;  
03.    
04. import java.io.File;  
05. import javax.xml.parsers.DocumentBuilder;  
06. import javax.xml.parsers.DocumentBuilderFactory;  
07.    
08. import org.w3c.dom.Document;  
09. import org.w3c.dom.Element;  
10. import org.w3c.dom.Node;  
11. import org.w3c.dom.NodeList;  
12.    
13. public class XMLParser {  
14.    
15.      public void getAllUserNames(String fileName) {  
16.          try {  
17.              DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();  
18.              DocumentBuilder db = dbf.newDocumentBuilder();  
19.              File file = new File(fileName);  
20.              if (file.exists()) {  
21.                  Document doc = db.parse(file);  
22.                  Element docEle = doc.getDocumentElement();  
23.    
24.                  // Print root element of the document  
25.                  System.out.println( "Root element of the document: "  
26.                          + docEle.getNodeName());  
27.    
28.                  NodeList studentList = docEle.getElementsByTagName( "student" );  
29.    
30.                  // Print total student elements in document  
31.                  System.out  
32.                          .println( "Total students: " + studentList.getLength());  
33.    
34.                  if (studentList != null && studentList.getLength() > 0 ) {  
35.                      for ( int i = 0 ; i < studentList.getLength(); i++) {  
36.    
37.                          Node node = studentList.item(i);  
38.    
39.                          if (node.getNodeType() == Node.ELEMENT_NODE) {  
40.    
41.                              System.out  
42.                                      .println( "=====================" );  
43.    
44.                              Element e = (Element) node;  
45.                              NodeList nodeList = e.getElementsByTagName( "name" );  
46.                              System.out.println( "Name: "  
47.                                      + nodeList.item( 0 ).getChildNodes().item( 0 )  
48.                                              .getNodeValue());  
49.    
50.                              nodeList = e.getElementsByTagName( "grade" );  
51.                              System.out.println( "Grade: "  
52.                                      + nodeList.item( 0 ).getChildNodes().item( 0 )  
53.                                              .getNodeValue());  
54.    
55.                              nodeList = e.getElementsByTagName( "age" );  
56.                              System.out.println( "Age: "  
57.                                      + nodeList.item( 0 ).getChildNodes().item( 0 )  
58.                                              .getNodeValue());  
59.                          }  
60.                      }  
61.                  } else {  
62.                      System.exit( 1 );  
63.                  }  
64.              }  
65.          } catch (Exception e) {  
66.              System.out.println(e);  
67.          }  
68.      }  
69.      public static void main(String[] args) {  
70.    
71.          XMLParser parser = new XMLParser();  
72.          parser.getAllUserNames( "c:\\test.xml" );  
73.      }  
74.

 

分享到:
评论

相关推荐

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

    根据提供的文件信息,我们可以深入探讨其中提及的各个Java程序片段,并从中提炼出一系列重要的知识点。 ### 1. 整型到字符串与字符串到整型的转换 - **知识点**: Java中`String.valueOf()`方法用于将基本类型转换...

    下面是20个非常有用的Java程序片段,希望能对你有用。

    下面我们将深入探讨这些Java程序片段中的关键知识点。 1. **字符串与整型的相互转换**: - `String.valueOf(int)` 方法将整型值转换为对应的字符串表示。 - `Integer.parseInt(String)` 方法用于将符合格式的字符...

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

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

    JAVA 学习必备10个有用的程序片段

    ### JAVA 学习必备10个有用的程序片段详解 #### 1. 字符串与整型的相互转换 在 Java 中,我们经常会遇到需要将数字转换为字符串或反之的情况。以下是一个简单的示例: - **从整型转换为字符串**: ```java int ...

    绝对使用的JAVA程序片段

    "绝对使用的JAVA程序片段"这个标题暗示了我们即将探讨的是Java编程中的一些核心技巧和最佳实践,这些片段是程序员在日常开发过程中经常遇到并需要掌握的关键点。"JAVA 代码 经典 经验"的标签进一步强调了这些代码...

    java程序设计阅读程序写结果题22道

    ### Java程序设计知识点总结 #### 1. 参数传递机制(传值引用) **知识点概述**: 在Java中,参数传递采用“传值”的方式。对于基本数据类型(如`int`, `double`等),传递的是变量的值;而对于引用类型(如数组、...

    java程序设计报告模板

    ### Java程序设计报告知识点 #### 一、报告模板概述 在大学阶段,撰写关于Java程序设计的报告是一项重要的学习活动。此类报告不仅帮助学生总结所学知识,还能够锻炼其解决问题的能力以及团队协作技巧。本报告模板...

    20个Java日常开发中经常用到的代码片段

    完整的代码示例,Java开发人员必备,涵盖日常Java开发经常要用到的功能代码。

    java程序代码下载

    在这个名为"java程序代码下载"的压缩包中,包含了多种实用的Java小代码示例,它们可以帮助初学者快速理解和实践Java编程的基本概念。 首先,让我们探讨一下Java源码的重要性。源码是程序员用人类可读的语言编写的...

    Java程序结构

    ### Java程序结构与示例分析 #### 一、概述 Java是一种广泛使用的面向对象编程语言,具有简单性、面向对象性、健壮性、安全性、平台独立性等优点。Java程序的基本单位是类(Class),类由方法和成员变量组成。本文...

    JAVA程序性能优化

    ### JAVA程序性能优化 在Java开发中,程序性能优化是一个重要的环节,它直接影响到应用程序的运行效率、用户体验以及系统的整体稳定性。本文将基于提供的标题、描述及部分内容,深入探讨几个关键性的性能优化策略。...

    JAVA实验报告二Java面向对象程序设计.docx

    面向对象程序设计是Java语言的核心特性之一,它允许我们通过模拟现实世界中的对象来构建复杂的软件系统。在本次实验中,我们将深入理解面向对象的基本概念,包括类的定义、对象的创建、接口的使用以及异常处理。 ...

    java程序填空题.pdf

    Java程序填空题.pdf文件中包含了多道Java编程题目的片段,用于考察和练习编程能力。从文件内容中可以提取出以下知识点: 1. Scanner类的使用:在题目中出现了使用Scanner类来获取用户输入的代码片段。Scanner sc = ...

    Java语言程序设计基础篇第六版英文课后习题答案

    Java是一种广泛使用的面向对象的编程语言,它具有跨平台的特性,也就是说,编写的Java程序可以在任何安装了Java运行环境(JRE)的操作系统上运行。Java语言的设计强调了对象的封装、继承和多态性,这三大特性使Java...

    JAVA课程设计小程序

    【JAVA课程设计小程序】 在Java编程中,课程设计通常涉及实际应用编程技能,例如输入输出处理、数据验证、日期操作以及字符串处理等。以下四个代码片段分别展示了这些方面: 1. 这个程序是一个简单的命令行输入...

    20个常用的ava程序片段.doc

    【Java程序片段详解】 在Java编程中,常常会遇到各种常见的任务,如数据类型转换、文件操作、日期处理以及数据库交互等。以下是一些实用的Java程序片段,可以帮助你更高效地编写代码。 1. **字符串与整型的相互...

    20个非常实用的Java程序代码片段

    下面我们将详细探讨标题和描述中提到的20个非常实用的Java程序代码片段,这些片段涵盖了字符串操作、文件处理、日志记录、日期时间转换以及数据库连接等多个方面。 1. **字符串与整型的相互转换**: - `String....

Global site tag (gtag.js) - Google Analytics