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

开发 后端
下面是20个非常有用的Java程序片段,希望能对你有用。内容比较早,有些函数可能过时了,但是总体思路是不错滴,供参考。

下面是20个非常有用的Java程序片段,希望能对你有用。内容比较早,有些函数可能过时了,但是总体思路是不错滴,供参考。

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

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

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();      
    }      
 
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.

3、得到当前方法的名字

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

4、转字符串到日期

java.util.Date = java.text.DateFormat.getDateInstance().parse(date String); 
  • 1.

或者是:

SimpleDateFormat format = new SimpleDateFormat( "dd.MM.yyyy" ); 
 
Date date = format.parse( myString );  
  • 1.
  • 2.
  • 3.

5、使用JDBC链接Oracle

    

 

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

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

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

 

8、创建图片的缩略图 

 

 

9、创建 JSON 格式的数据

请先阅读这篇文章 了解一些细节,

并下面这个JAR 文件:json-rpc-1.0.jar (75 kb) http://viralpatel.net/blogs/download/json/json-rpc-1.0.jar

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

10、使用iText JAR生成PDF

阅读这篇文章 了解更多细节

 

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");  
  • 1.
  • 2.
  • 3.
  • 4.

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;      
    }      

  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.

另一种实现

public enum SimpleSingleton {      
    INSTANCE;      
    public void doSomething() {      
    }      
}      
//Call the method from Singleton:  SimpleSingleton.INSTANCE.doSomething();  
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.

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));      
 
}      
...  
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.

14、列出文件和目录 

 

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();      
    }      
 
  • 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.

16、解析/读取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>  
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.

XML文件

Java代码

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");      
    }      
 
  • 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.

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"));      
  }      
 
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.

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);      
 
  • 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.

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();      
        }      
    }   
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.

20、改变数组的大小   

/**  
* Reallocates an array with a new sizeand 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]);      

plain  
  • 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.
责任编辑:庞桂玉 来源: 程序猿
相关推荐

2013-06-14 14:57:09

Java基础代码

2017-11-16 08:15:26

程序员Java程序

2023-06-13 15:15:02

JavaScript前端编程语言

2009-03-24 14:23:59

PHP类库PHP开发PHP

2022-06-27 19:01:04

Python应用程序数据

2018-08-03 10:02:05

Linux命令

2013-08-12 15:00:24

LinuxLinux命令

2013-08-13 10:46:51

LinuxLinux命令

2009-05-18 16:58:56

Java代码片段

2021-10-21 22:03:00

PythonNumpy函数

2020-10-29 10:00:55

Python函数文件

2011-07-07 17:16:43

PHP

2023-02-19 15:22:22

React技巧

2022-09-02 23:08:04

JavaScript技巧开发

2013-11-05 10:03:22

Eclipse功能

2013-08-21 10:31:22

HTML5工具

2021-03-09 09:14:27

ES2019JavaScript开发

2009-02-09 11:20:06

Windows7Windows

2015-08-12 11:09:42

开发者设计原则

2014-09-18 09:50:32

Ruby on Rai
点赞
收藏

51CTO技术栈公众号