`

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

    博客分类:
  • java
阅读更多
13. 抓屏程序

  Java代码
  1.  import java.awt.Dimension;
  2.   import java.awt.Rectangle;
  3.   import java.awt.Robot;
  4.   import java.awt.Toolkit;
  5.   import java.awt.image.BufferedImage;
  6.   import javax.imageio.ImageIO;
  7.   import java.io.File;
  8.   ...
  9.   public void captureScreen(String fileName) throws Exception {
  10.   Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
  11.   Rectangle screenRectangle = new Rectangle(screenSize);
  12.   Robot robot = new Robot();
  13.   BufferedImage image = robot.createScreenCapture(screenRectangle);
  14.   ImageIO.write(image, "png", new File(fileName));
  15.   }
  16.   ...
  17.   import java.awt.Dimension;
  18.   import java.awt.Rectangle;
  19.   import java.awt.Robot;
  20.   import java.awt.Toolkit;
  21.   import java.awt.image.BufferedImage;
  22.   import javax.imageio.ImageIO;
  23.   import java.io.File;
  24.   ...
  25.   public void captureScreen(String fileName) throws Exception {
  26.   Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
  27.   Rectangle screenRectangle = new Rectangle(screenSize);
  28.   Robot robot = new Robot();
  29.   BufferedImage image = robot.createScreenCapture(screenRectangle);
  30.   ImageIO.write(image, "png", new File(fileName));
  31.   }
复制代码

14. 列出文件和目录

  Java代码
  1.  File dir = new File("directoryName");
  2.   String[] children = dir.list();
  3.   if (children == null) {
  4.   // Either dir does not exist or is not a directory
  5.   } else {
  6.   for (int i=0; i < children.length; i++) {
  7.   // Get filename of file or directory
  8.   String filename = children[i];
  9.   }
  10.   }
  11.   // It is also possible to filter the list of returned files.
  12.   // This example does not return any files that start with `.'.
  13.   FilenameFilter filter = new FilenameFilter() {
  14.   public boolean accept(File dir, String name) {
  15.   return !name.startsWith(".");
  16.   }
  17.   };
  18.   children = dir.list(filter);
  19.   // The list of files can also be retrieved as File objects
  20.   File[] files = dir.listFiles();
  21.   // This filter only returns directories
  22.   FileFilter fileFilter = new FileFilter() {
  23.   public boolean accept(File file) {
  24.   return file.isDirectory();
  25.   }
  26.   };
  27.   files = dir.listFiles(fileFilter);
复制代码
15. 创建ZIP和JAR文件

  Java代码
  1. import java.util.zip.*;
  2.   import java.io.*;
  3.   public class ZipIt {
  4.   public static void 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 = new byte[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.   }
复制代码

分享到:
评论

相关推荐

    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多媒体包的压缩文件,主要用于游戏开发或对马里奥游戏感兴趣的爱好者进行资源参考和学习。这个压缩包的内容主要包括两个核心部分:图形资源...

    超级玛丽源码及解说文档

    作者可能通过实例和代码片段来解释如何创建一个类似《超级玛丽》的游戏。这不仅涵盖了编程语言(可能是C++、Java或Unity脚本)的基础知识,还涉及图形设计、音效处理以及游戏框架的运用。学习者可以通过这份文档了解...

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

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

    超级菜单支持库

    【超级菜单支持库】是一种专为开发者设计的软件组件,旨在简化应用程序中复杂菜单系统的创建和管理。在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查看器提供接口测试功能,允许用户输入参数...

    超级炫的一个Android效果

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

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

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

    超级jsp学习资料 很好

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

    超级坦克代码

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

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

    2. `exception`对象:在JSP中,若将页面指令`&lt;%@ page isErrorPage="true" %&gt;`设置为true,那么当前页面将作为错误处理页面,可以使用`exception`对象来捕获并输出错误信息。 3. `import`属性:页面指令中的`import...

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

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

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

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

    正大软件集团jsp教程

    JSP是一种基于Java的服务器端编程技术,主要用于创建动态、交互式的Web应用程序。它的核心优势在于将HTML代码与Java代码分离,使得开发者可以更专注于页面的布局和设计,而Java代码则负责处理业务逻辑和数据操作。 ...

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

    1. 完成代码:Ctrl+\ - 这个快捷键可以在任何地方触发代码补全,显示与当前输入相关的代码片段。 2. 错误提示:Alt + Enter - 当出现错误时,使用这个组合键可以查看系统提供的修复建议。 3. 自动完成字符串:Ctrl+L...

Global site tag (gtag.js) - Google Analytics