Java中常用的代码汇总

1. 字符串有整型的相互转换

String a = String.valueOf(2);   //integer to numeric string 
int i = Integer.parseInt(a); //numeric string to an int

2. 向文件末尾添加内容

BufferedWriter out = null;
try {
  out = new BufferedWriter(new FileWriter(”filename”, true));
  out.write(”aString”);
} catch (IOException e) {
  // error processing code
} finally {
  if (out != null) {
    out.close();
  }
}

3. 得到当前方法的名字

String methodName = Thread.currentThread().getStackTrace()[1].getMethodName();

4. 转字符串到日期

java.util.Date = java.text.DateFormat.getDateInstance().parse(date String);
或者是:
SimpleDateFormat format = new SimpleDateFormat( "dd.MM.yyyy" ); 
Date date = format.parse( myString );

5. 使用JDBC链接Oracle

public class OracleJdbcTest
{
  String driverClass = "oracle.jdbc.driver.OracleDriver"; 

  Connection con; 

  public void init(FileInputStream fs) throws ClassNotFoundException, SQLException, FileNotFoundException, IOException
  {
    Properties props = new Properties();
    props.load(fs);
    String url = props.getProperty("db.url");
    String userName = props.getProperty("db.user");
    String password = props.getProperty("db.password");
    Class.forName(driverClass); 

    con=DriverManager.getConnection(url, userName, password);
  } 

  public void fetch() throws SQLException, IOException
  {
    PreparedStatement ps = con.prepareStatement("select SYSDATE from dual");
    ResultSet rs = ps.executeQuery(); 

    while (rs.next())
    {
      // do the thing you do
    }
    rs.close();
    ps.close();
  } 

  public static void main(String[] args)
  {
    OracleJdbcTest test = new OracleJdbcTest();
    test.init();
    test.fetch();
  }
}

6. 把 Java util.Date 转成 sql.Date

java.util.Date utilDate = new java.util.Date();
java.sql.Date sqlDate = new java.sql.Date(utilDate.getTime());

7. 使用NIO进行快速的文件拷贝

public static void fileCopy( File in, File out )
      throws IOException
  {
    FileChannel inChannel = new FileInputStream( in ).getChannel();
    FileChannel outChannel = new FileOutputStream( out ).getChannel();
    try
    {
//     inChannel.transferTo(0, inChannel.size(), outChannel);   // original -- apparently has trouble copying large files on Windows 

      // magic number for Windows, 64Mb - 32Kb)
      int maxCount = (64 * 1024 * 1024) - (32 * 1024);
      long size = inChannel.size();
      long position = 0;
      while ( position < size )
      {
        position += inChannel.transferTo( position, maxCount, outChannel );
      }
    }
    finally
    {
      if ( inChannel != null )
      {
        inChannel.close();
      }
      if ( outChannel != null )
      {
        outChannel.close();
      }
    }
  }

8. 创建图片的缩略图

private void createThumbnail(String filename, int thumbWidth, int thumbHeight, int quality, String outFilename)
    throws InterruptedException, FileNotFoundException, IOException
  {
    // load image from filename
    Image image = Toolkit.getDefaultToolkit().getImage(filename);
    MediaTracker mediaTracker = new MediaTracker(new Container());
    mediaTracker.addImage(image, 0);
    mediaTracker.waitForID(0);
    // use this to test for errors at this point: System.out.println(mediaTracker.isErrorAny()); 

    // determine thumbnail size from WIDTH and HEIGHT
    double thumbRatio = (double)thumbWidth / (double)thumbHeight;
    int imageWidth = image.getWidth(null);
    int imageHeight = image.getHeight(null);
    double imageRatio = (double)imageWidth / (double)imageHeight;
    if (thumbRatio < imageRatio) {
      thumbHeight = (int)(thumbWidth / imageRatio);
    } else {
      thumbWidth = (int)(thumbHeight * imageRatio);
    } 

    // draw original image to thumbnail image object and
    // scale it to the new size on-the-fly
    BufferedImage thumbImage = new BufferedImage(thumbWidth, thumbHeight, BufferedImage.TYPE_INT_RGB);
    Graphics2D graphics2D = thumbImage.createGraphics();
    graphics2D.setRenderingHint(RenderingHints.KEY_INTERPOLATION, RenderingHints.VALUE_INTERPOLATION_BILINEAR);
    graphics2D.drawImage(image, 0, 0, thumbWidth, thumbHeight, null); 

    // save thumbnail image to outFilename
    BufferedOutputStream out = new BufferedOutputStream(new FileOutputStream(outFilename));
    JPEGImageEncoder encoder = JPEGCodec.createJPEGEncoder(out);
    JPEGEncodeParam param = encoder.getDefaultJPEGEncodeParam(thumbImage);
    quality = Math.max(0, Math.min(quality, 100));
    param.setQuality((float)quality / 100.0f, false);
    encoder.setJPEGEncodeParam(param);
    encoder.encode(thumbImage);
    out.close();
  }

9.创建 JSON 格式的数据

并下面这个JAR 文件:json-rpc-1.0.jar (75 kb)/http://t.cn/Rz0bhUA

import org.json.JSONObject;
...
...
JSONObject json = new JSONObject();
json.put("city", "Mumbai");
json.put("country", "India");
...
String output = json.toString();
...

10. 使用iText JAR生成PDF

import java.io.File;
import java.io.FileOutputStream;
import java.io.OutputStream;
import java.util.Date; 

import com.lowagie.text.Document;
import com.lowagie.text.Paragraph;
import com.lowagie.text.pdf.PdfWriter; 

public class GeneratePDF { 

  public static void main(String[] args) {
    try {
      OutputStream file = new FileOutputStream(new File("C:\\Test.pdf")); 

      Document document = new Document();
      PdfWriter.getInstance(document, file);
      document.open();
      document.add(new Paragraph("Hello Kiran"));
      document.add(new Paragraph(new Date().toString())); 

      document.close();
      file.close(); 

    } catch (Exception e) { 

      e.printStackTrace();
    }
  }
}

11. HTTP 代理设置

System.getProperties().put("http.proxyHost", "someProxyURL");
System.getProperties().put("http.proxyPort", "someProxyPort");
System.getProperties().put("http.proxyUser", "someUserName");
System.getProperties().put("http.proxyPassword", "somePassword");

12. 单实例Singleton 示例

public class SimpleSingleton {
  private static SimpleSingleton singleInstance = new SimpleSingleton(); 

  //Marking default constructor private
  //to avoid direct instantiation.
  private SimpleSingleton() {
  } 

  //Get instance for class SimpleSingleton
  public static SimpleSingleton getInstance() { 

    return singleInstance;
  }
}

13. 抓屏程序

import java.awt.Dimension;
import java.awt.Rectangle;
import java.awt.Robot;
import java.awt.Toolkit;
import java.awt.image.BufferedImage;
import javax.imageio.ImageIO;
import java.io.File; 

... 

public void captureScreen(String fileName) throws Exception { 

  Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
  Rectangle screenRectangle = new Rectangle(screenSize);
  Robot robot = new Robot();
  BufferedImage image = robot.createScreenCapture(screenRectangle);
  ImageIO.write(image, "png", new File(fileName)); 

}
...

14. 列出文件和目录

File dir = new File("directoryName");
 String[] children = dir.list();
 if (children == null) {
   // Either dir does not exist or is not a directory
 } else {
   for (int i=0; i < children.length; i++) {
     // Get filename of file or directory
     String filename = children[i];
   }
 } 

 // It is also possible to filter the list of returned files.
 // This example does not return any files that start with `.'.
 FilenameFilter filter = new FilenameFilter() {
   public boolean accept(File dir, String name) {
     return !name.startsWith(".");
   }
 };
 children = dir.list(filter); 

 // The list of files can also be retrieved as File objects
 File[] files = dir.listFiles(); 

 // This filter only returns directories
 FileFilter fileFilter = new FileFilter() {
   public boolean accept(File file) {
     return file.isDirectory();
   }
 };
 files = dir.listFiles(fileFilter);

15. 创建ZIP和JAR文件

import java.util.zip.*;
import java.io.*; 

public class ZipIt {
  public static void main(String args[]) throws IOException {
    if (args.length < 2) {
      System.err.println("usage: java ZipIt Zip.zip file1 file2 file3");
      System.exit(-1);
    }
    File zipFile = new File(args[0]);
    if (zipFile.exists()) {
      System.err.println("Zip file already exists, please try another");
      System.exit(-2);
    }
    FileOutputStream fos = new FileOutputStream(zipFile);
    ZipOutputStream zos = new ZipOutputStream(fos);
    int bytesRead;
    byte[] buffer = new byte[1024];
    CRC32 crc = new CRC32();
    for (int i=1, n=args.length; i < n; i++) {
      String name = args[i];
      File file = new File(name);
      if (!file.exists()) {
        System.err.println("Skipping: " + name);
        continue;
      }
      BufferedInputStream bis = new BufferedInputStream(
        new FileInputStream(file));
      crc.reset();
      while ((bytesRead = bis.read(buffer)) != -1) {
        crc.update(buffer, 0, bytesRead);
      }
      bis.close();
      // Reset to beginning of input stream
      bis = new BufferedInputStream(
        new FileInputStream(file));
      ZipEntry entry = new ZipEntry(name);
      entry.setMethod(ZipEntry.STORED);
      entry.setCompressedSize(file.length());
      entry.setSize(file.length());
      entry.setCrc(crc.getValue());
      zos.putNextEntry(entry);
      while ((bytesRead = bis.read(buffer)) != -1) {
        zos.write(buffer, 0, bytesRead);
      }
      bis.close();
    }
    zos.close();
  }
}

16. 解析/读取XML 文件

XML文件

<?xml version="1.0"?>
<students>
  <student>
    <name>John</name>
    <grade>B</grade>
    <age>12</age>
  </student>
  <student>
    <name>Mary</name>
    <grade>A</grade>
    <age>11</age>
  </student>
  <student>
    <name>Simon</name>
    <grade>A</grade>
    <age>18</age>
  </student>
</students>

Java代码

<span style="font-family:Arial;font-size:14px;">package net.viralpatel.java.xmlparser; 

import java.io.File;
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory; 

import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.w3c.dom.Node;
import org.w3c.dom.NodeList; 

public class XMLParser { 

  public void getAllUserNames(String fileName) {
    try {
      DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
      DocumentBuilder db = dbf.newDocumentBuilder();
      File file = new File(fileName);
      if (file.exists()) {
        Document doc = db.parse(file);
        Element docEle = doc.getDocumentElement(); 

        // Print root element of the document
        System.out.println("Root element of the document: "
            + docEle.getNodeName()); 

        NodeList studentList = docEle.getElementsByTagName("student"); 

        // Print total student elements in document
        System.out
            .println("Total students: " + studentList.getLength()); 

        if (studentList != null && studentList.getLength() > 0) {
          for (int i = 0; i < studentList.getLength(); i++) { 

            Node node = studentList.item(i); 

            if (node.getNodeType() == Node.ELEMENT_NODE) { 

              System.out
                  .println("====================="); 

              Element e = (Element) node;
              NodeList nodeList = e.getElementsByTagName("name");
              System.out.println("Name: "
                  + nodeList.item(0).getChildNodes().item(0)
                      .getNodeValue()); 

              nodeList = e.getElementsByTagName("grade");
              System.out.println("Grade: "
                  + nodeList.item(0).getChildNodes().item(0)
                      .getNodeValue()); 

              nodeList = e.getElementsByTagName("age");
              System.out.println("Age: "
                  + nodeList.item(0).getChildNodes().item(0)
                      .getNodeValue());
            }
          }
        } else {
          System.exit(1);
        }
      }
    } catch (Exception e) {
      System.out.println(e);
    }
  }
  public static void main(String[] args) { 

    XMLParser parser = new XMLParser();
    parser.getAllUserNames("c:\\test.xml");
  }
}

17. 把 Array 转换成 Map

import java.util.Map;
import org.apache.commons.lang.ArrayUtils; 

public class Main { 

 public static void main(String[] args) {
  String[][] countries = { { "United States", "New York" }, { "United Kingdom", "London" },
    { "Netherland", "Amsterdam" }, { "Japan", "Tokyo" }, { "France", "Paris" } }; 

  Map countryCapitals = ArrayUtils.toMap(countries); 

  System.out.println("Capital of Japan is " + countryCapitals.get("Japan"));
  System.out.println("Capital of France is " + countryCapitals.get("France"));
 }
}

18. 发送邮件

import javax.mail.*;
import javax.mail.internet.*;
import java.util.*; 

public void postMail( String recipients[ ], String subject, String message , String from) throws MessagingException
{
  boolean debug = false; 

   //Set the host smtp address
   Properties props = new Properties();
   props.put("mail.smtp.host", "smtp.example.com"); 

  // create some properties and get the default Session
  Session session = Session.getDefaultInstance(props, null);
  session.setDebug(debug); 

  // create a message
  Message msg = new MimeMessage(session); 

  // set the from and to address
  InternetAddress addressFrom = new InternetAddress(from);
  msg.setFrom(addressFrom); 

  InternetAddress[] addressTo = new InternetAddress[recipients.length];
  for (int i = 0; i < recipients.length; i++)
  {
    addressTo[i] = new InternetAddress(recipients[i]);
  }
  msg.setRecipients(Message.RecipientType.TO, addressTo); 

  // Optional : You can also set your custom headers in the Email if you Want
  msg.addHeader("MyHeaderName", "myHeaderValue"); 

  // Setting the Subject and Content Type
  msg.setSubject(subject);
  msg.setContent(message, "text/plain");
  Transport.send(msg);
}

19. 发送代数据的HTTP 请求

import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.net.URL; 

public class Main {
  public static void main(String[] args) {
    try {
      URL my_url = new URL("http://coolshell.cn/");
      BufferedReader br = new BufferedReader(new InputStreamReader(my_url.openStream()));
      String strTemp = "";
      while(null != (strTemp = br.readLine())){
      System.out.println(strTemp);
    }
    } catch (Exception ex) {
      ex.printStackTrace();
    }
  }
}

20. 改变数组的大小

/**
* Reallocates an array with a new size, and copies the contents
* of the old array to the new array.
* @param oldArray the old array, to be reallocated.
* @param newSize  the new array size.
* @return     A new array with the same contents.
*/
private static Object resizeArray (Object oldArray, int newSize) {
  int oldSize = java.lang.reflect.Array.getLength(oldArray);
  Class elementType = oldArray.getClass().getComponentType();
  Object newArray = java.lang.reflect.Array.newInstance(
     elementType,newSize);
  int preserveLength = Math.min(oldSize,newSize);
  if (preserveLength > 0)
   System.arraycopy (oldArray,0,newArray,0,preserveLength);
  return newArray;
} 

// Test routine for resizeArray().
public static void main (String[] args) {
  int[] a = {1,2,3};
  a = (int[])resizeArray(a,5);
  a[3] = 4;
  a[4] = 5;
  for (int i=0; i<a.length; i++)
   System.out.println (a[i]);
}

以上所述就是本文的全部内容了,希望大家能够喜欢。

(0)

相关推荐

  • java获取Date时间的各种方式汇总

    java获取Date时间的各种方式为大家分享如下 常用的时间获取方式 public class DateUtils { /** * 获取时间戳 * 输出结果:1438692801766 */ @Test public void getTimeStamp() { Date date = new Date(); long times = date.getTime(); System.out.println(times); //第二种方法: new Date().getTime(); } /** *

  • Java编程中的一些常见问题汇总

    本文列举了我在周围同事的Java代码中看到的一些比较典型的错误.显然,静态代码分析(我们团队用的是qulice)不可能发现所有的问题,这也是为什么我要在这里列出它们的原因. 如果你觉得少了什么,请不吝赐教,我会很乐意把它们加上. 下面列出的所有这些错误基本都与面向对象编程有关,尤其是Java的OOP. 类名 读下这篇短文"什么是对象".类应该是真实生活中的一个抽象实体,而不是什么"validators","controller", "m

  • Java技术汇总

    这篇文章总结了多年来使用Java的一些心得体会,主要是和一些Java基础知识点相关的,也希望能分享给刚刚入门的Java程序员和打算入Java开发这个行业的准新手们,希望可以给大家一些经验,能让大家更好学习和使用Java. 这次介绍的主要内容是和J2SE相关的部分,经过这么多年的Java开发,以及结合平时面试Java开发者的一些经验, J2SE方面主要就是要掌握以下的一些内容. 1. JVM相关(包括了各个版本的特性) 对于刚刚接触Java的人来说,JVM相关的知识不一定需要理解很深,对此里面的概

  • Java 正则表达式详解

    如果你不熟悉这个术语,那么"正则表达式"(Regular Expression)就是一个字符构成的串,它定义了一个用来搜索匹配字符串的模式. 正则表达式30分钟入门教程 常用正则表达式 许多语言,包括Perl.PHP.Python.JavaScript和JScript,都支持用正则表达式处理文本,一些文本编辑器用正则表达式实现高级"搜索-替换"功能.那么Java又怎样呢?本文写作时,一个包含了用正则表达式进行文本处理的Java规范需求(Specification R

  • Java实现时间动态显示方法汇总

    本文所述实例可以实现Java在界面上动态的显示时间.具体实现方法汇总如下: 1.方法一 用TimerTask: 利用java.util.Timer和java.util.TimerTask来做动态更新,毕竟每次更新可以看作是计时1秒发生一次. 代码如下: import java.awt.Dimension; import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.Date; import java

  • javaweb中静态文件的常用处理方法汇总

    本文实例汇总了javaweb中静态文件的常用处理方法,在Javaweb程序开发中很有实用价值,具体方法汇总如下: 方法一:激活Tomcat的defaultServlet来处理静态文件 在web.xml中添加: <servlet-mapping> <servlet-name>default</servlet-name> <url-pattern>*.jpg</url-pattern> </servlet-mapping> <ser

  • java计算两个时间相差天数的方法汇总

    问题描述: 输入:两个日期 输出:两个日期相差的天数 具体代码实现 方法1: 通过Calendar类的日期比较.注意:这里需要考虑一下: 日期是跨年份的,如一个是2012年,一个是2015年的 年份是分闰年和平年的,各自的天数不同 /** * date2比date1多的天数 * @param date1 * @param date2 * @return */ public static int differentDays(Date date1,Date date2) { Calendar cal

  • java使double保留两位小数的多方法 java保留两位小数

    复制代码 代码如下: mport java.text.DecimalFormat; DecimalFormat    df   = new DecimalFormat("######0.00"); double d1 = 3.23456  double d2 = 0.0;double d3 = 2.0;df.format(d1); df.format(d2); df.format(d3); 3个结果分别为: 复制代码 代码如下: 3.230.00 2.00 java保留两位小数问题:

  • java常见事件响应方法实例汇总

    本文实例汇总了java中常见的事件响应方法,包括容器类监听.监听器类.AbstractAction.反射等.以方便大家参考.具体方法如下: 首先,在Java图形用户界面中,处理事件时所必须的步骤是: 1.创建接受响应的组件(控件) 2.实现相关事件监听接口 3.注册事件源的动作监听器 4.事件触发时的事件处理 相应的可以通过以下的集中方式来作出事件响应. 一.容器类监听    效果:单击窗体中的三个按钮,实现相应的相应时间. import java.awt.*; import java.awt.

  • Java中常用的代码汇总

    1. 字符串有整型的相互转换 String a = String.valueOf(2);   //integer to numeric string  int i = Integer.parseInt(a); //numeric string to an int 2. 向文件末尾添加内容 BufferedWriter out = null; try { out = new BufferedWriter(new FileWriter("filename", true)); out.wri

  • Java中常用修饰符的使用方法汇总

    修饰符汇总: 一:public protected default private 修饰类,修饰方法,修饰属性,修饰代码块. 类: 顶级类只能用public 修饰,顶级类不能使用private 和protected 修饰. 外部类可以被public修饰或者默认不写,不能用private和protected. 内部类可为静态,可用protected和private修饰. 方法: 通常方法可以被四个访问修饰符修饰,构造方法也可以被四个访问修饰符修饰. 抽象类中的抽象方法不能被private修饰,可以

  • JAVA中常用的设计模式:单例模式,工厂模式,观察者模式

    1.单例模式 每个类只能创建一个实例对象 Java Singleton模式主要作用是保证在Java应用程序中,一个类Class只有一个实例存在. 使用Singleton的好处还在于可以节省内存,因为它限制了实例的个数,有利于Java垃圾回收(garbage collection). 好处: 第一.控制资源的使用,通过线程同步来控制资源的并发访问: 第二.控制实例产生的数量,达到节约资源的目的. 第三.作为通信媒介使用,也就是数据共享,它可以在不建立直接关联的条件下,让多个不相关的两个线程或者进程

  • Java中常用数据类型的输入输出详解

    目录 1.Char型 1.1  输入格式: 1.2  举例说明 2.int型 1.1  简单的int格式输入: 1.2  举例说明 2.1带空格的int格式输入 : 2.2  举例说明 3.1  复杂int格式的输入 3.2  举例说明 3.double型 4.多次输入 1.1  输入格式 1.2  举例说明 5.数组 1.1  数组输入格式: 2.1  数组转换成字符串 6.字符串 1.1  字符串转换成整型,浮点型(以整型为例) 1.2  整型,浮点型转换成字符串 2.1  字符串转换成字符

  • 浅析java中常用的定时任务框架-单体

    目录 一.阅读收获 二.本章源码下载 三.Timer+TimerTask 四.ScheduledExecutorService 五.Spring Task 5.1 单线程串行执行-@Scheduled 5.2 多线程并发运行-@Scheduled+配置定时器的程池(推荐) 5.3 多线程并发执行-@Scheduled+@Async+配置异步线程池 5.4 @Scheduled参数解析 六.Quartz 6.1. 创建任务类 6.2. 配置任务描述和触发器 一.阅读收获 1. 了解常用的单体应用定

  • Java中常用的Lambda表达式案例解析

    目录 1.ForEach 2.Collect 3.Filter 4.Map 5.MapToInt 6.Distinct 7.Sorted 8.groupingBy 9.FindFirst 10.Reduce 11.Peek 12.Limit 13.Max,Min 总结 前言: 我们日常工作中,Lambda 使用比较多的场景,就是集合类下的 Lambda 流操作,往往几行代码可以帮助我们实现复杂代码 接下来我们把 Lambda 流的常用方法用案列讲解一下. 1.ForEach 集合的遍历forEa

  • 一文详解Java中的Stream的汇总和分组操作

    目录 前言 一.查找流中的最大值和最小值 二.汇总 三.连接字符串 四.分组 1.分组 2.多级分组 3.按子组数据进行划分 后记 前言 在前面的文章中其实大家也已经看到我使用过collect(Collectors.toList()) 将数据最后汇总成一个 List 集合. 但其实还可以转换成Integer.Map.Set 集合等. 一.查找流中的最大值和最小值 static List<Student> students = new ArrayList<>(); ​ static

  • Java中常用的日期类图文详解

    目录 前言 Date 为什么Date的大部分方法被弃用 注释 翻译 目前可用方法的测试示例 可用方法 示例 Date小结 Calendar 简单介绍 常用的方法 获取实例 获取日期里的信息 日期的加减与滚动 日期的设置 测试实例代码 DateFormat与SimpleDateFormat DateFormat 常用方法 测试实例 SimpleDateFormat 主要方法 测试示例 编写一个简单的日期工具类 工具类 测试示例 总结 前言 本文将分析Java中的Date.Calendar.Date

  • java中常用工具类之字符串操作类和MD5加密解密类

    java中常用的工具类之String和MD5加密解密类 我们java程序员在开发项目的是常常会用到一些工具类.今天我分享一下我的两个工具类,大家可以在项目中使用. 一.String工具类 package com.itjh.javaUtil; import java.io.ByteArrayInputStream; import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import

  • java 中JDBC连接数据库代码和步骤详解及实例代码

    java 中JDBC连接数据库代码和步骤详解 JDBC连接数据库 •创建一个以JDBC连接数据库的程序,包含7个步骤:  1.加载JDBC驱动程序:  在连接数据库之前,首先要加载想要连接的数据库的驱动到JVM(Java虚拟机),这通过java.lang.Class类的静态方法forName(String  className)实现. 例如: try{ //加载MySql的驱动类 Class.forName("com.mysql.jdbc.Driver") ; }catch(Class

随机推荐