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

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

2. 向文件末尾添加内容

 
1
2
3
4
5
6
7
8
9
10
11
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

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
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

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

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

 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
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. 创建图片的缩略图

 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
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

 
1
2
3
4
5
6
7
8
9
import org.json.JSONObject;
...
...
JSONObject json = new JSONObject();
json.put("city", "Mumbai");
json.put("country", "India");
...
String output = json.toString();
...

10. 使用iText JAR生成PDF

 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
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 代理设置

 
1
2
3
4
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 示例

 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
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. 抓屏程序

 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
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. 列出文件和目录

 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
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文件

 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
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文件

 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<?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代码

 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
<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

 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
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. 发送邮件

 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
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 请求

 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
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. 改变数组的大小

 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
/**
* 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]);
}

Java开发常用的代码片段的更多相关文章

  1. js/jquery/html前端开发常用到代码片段

    1.IE条件注释 条件注释简介 IE中的条件注释(Conditional comments)对IE的版本和IE非IE有优秀的区分能力,是WEB设计中常用的hack方法.条件注释只能用于IE5以上,IE ...

  2. IOS开发效率之为Xcode添加常用的代码片段

    IOS开发效率之为Xcode添加常用的代码片段 原文地址:http://blog.csdn.net/pingchangtan367/article/details/30041285 tableview ...

  3. IOS开发-OC学习-常用功能代码片段整理

    IOS开发-OC学习-常用功能代码片段整理 IOS开发中会频繁用到一些代码段,用来实现一些固定的功能.比如在文本框中输入完后要让键盘收回,这个需要用一个简单的让文本框失去第一响应者的身份来完成.或者是 ...

  4. 《阿里巴巴Java开发手册》代码格式部分应用——idea中checkstyle的使用教程

    <阿里巴巴Java开发手册>代码格式部分应用--idea中checkstyle的使用教程 1.<阿里巴巴Java开发手册> 这是阿里巴巴工程师送给各位软件工程师的宝典,就像开车 ...

  5. 常用JS代码片段

    1.隐藏部分数字,如手机号码,身份证号码 1 2 3 function (str,start,length,mask_char){ return str.replace(str.substr(star ...

  6. Java开发常用的在线工具

    原文出处: hollischuang(@Hollis_Chuang) 作为一个Java开发人员,经常要和各种各样的工具打交道,除了我们常用的IDE工具以外,其实还有很多工具是我们在日常开发及学习过程中 ...

  7. [开发工具]Java开发常用的在线工具

    注明: 本文转自http://www.hollischuang.com/archives/1459.作为一个Java开发人员,经常要和各种各样的工具打交道,除了我们常用的IDE工具以外,其实还有很多工 ...

  8. java开发常用jar包介绍(转载)

    jta.jar 标准JTA API必要 commons-collections.jar 集合类 必要 antlr.jar  ANother Tool for Language Recognition ...

  9. iOS开发技巧 -- 复用代码片段

    如果你是一位开发人员在开发过程中会发现有些代码无论是在同一个工程中还是在不同工程中使用率会很高,有经验的人会直接封装在一个类里,或者写成一个宏定义或者把这些代码收集起来,下次直接使用,或者放到xcod ...

随机推荐

  1. Spring MVC模式示例(采用解耦控制器+校验器)

    Product package com.mstf.bean; import java.io.Serializable; /** * Product类,封装了一些信息,包含三个属性 * @author ...

  2. ListView有Header时的position情况

     问题: headerView 为第0个view,item 的 pos会从1开始. 解决方式: position减去 listView.getHeaderViewsCount().例如我想得到list ...

  3. <Sicily>Inversion Number(线段树求逆序数)

    一.题目描述 There is a permutation P with n integers from 1 to n. You have to calculate its inversion num ...

  4. laravel 自定义全局函数

    在 app 目录下创建一个 Helpers 目录,在此目录下创建文件.这些文件就是全局函数文件.如叫:function.php 加载此文件: 1 . 在 bootstrap/autoload.php ...

  5. Linux 部署项目经验总结

    [通用命令]  1.创建文件夹 mkdir -p xxx 2.解压包 tar -zxvf xxxx.tar.gz  3.缩文件 tar zcvf 压缩包名称.tar.gz 要压缩的文件  4.动命令  ...

  6. Python对象的循环引用问题

    目录 Python对象循环引用 循环引用垃圾回收算法 容器对象 生成容器对象 追踪容器对象 结束追踪容器对象 分代容器对象链表 何时执行循环引用垃圾回收 循环引用的垃圾回收 循环引用中的终结器 pyt ...

  7. cmd 操作命令

    1)cd 操作文件目录的 cd path #进入path cd / #返回到当前盘符的根目录 cd .. #返回到上级目录 2)dir 显示当前目录 dir #显示当前目录下的文件夹 dir path ...

  8. caioj 1072 动态规划入门(二维一边推5:最长公共子序列 LCSS加强版)

    在51nod刷到过同样的题,直接秒杀 见https://blog.csdn.net/qq_34416123/article/details/81697683 #include<cstdio> ...

  9. 今日SGU 5.30

    SGU 190 题意:给你个n*n的矩形,然后上面有几个点不能放东西,然后问你能不能用1*2的矩形,把能放 东西的地方放满 收获:一开始想的是,dfs,然后感觉这样的话,代码很长,而且很容易超时, 看 ...

  10. WPF模仿QQ登录按钮

    原文:WPF模仿QQ登录按钮 如下图,第一张是未点击时按钮样式,第二张是鼠标划过时按钮样式. 样式代码: <Style TargetType="{x:Type Button}" ...