20個非常有用的Java程序片段
下面是20個非常有用的Java程序片段,希望能對你有用。內(nèi)容比較早,有些函數(shù)可能過時了,但是總體思路是不錯滴,供參考。
1、字符串有整型的相互轉(zhuǎn)換
- String a = String.valueOf(2); //integer to numeric string
 - int i = Integer.parseInt(a); //numeric string to an int
 
2、向文件末尾添加內(nèi)容
- 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、得到當(dāng)前方法的名字
- String methodName = Thread.currentThread().getStackTrace()[1].getMethodName();
 
4、轉(zhuǎn)字符串到日期
- 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
6、把 Java util.Date 轉(zhuǎn)成 sql.Date
- java.util.Date utilDate = new java.util.Date();
 - java.sql.Date sqlDate = new java.sql.Date(utilDate.getTime());
 
7、使用NIO進行快速的文件拷貝
8、創(chuàng)建圖片的縮略圖
9、創(chuàng)建 JSON 格式的數(shù)據(jù)
請先閱讀這篇文章 了解一些細節(jié),
并下面這個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();
 - ...
 
10、使用iText JAR生成PDF
閱讀這篇文章 了解更多細節(jié)
11、HTTP 代理設(shè)置
閱讀這篇 文章 了解更多細節(jié)。
- 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;
 - }
 - }
 
另一種實現(xiàn)
- public enum SimpleSingleton {
 - INSTANCE;
 - public void doSomething() {
 - }
 - }
 - //Call the method from Singleton: SimpleSingleton.INSTANCE.doSomething();
 
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、列出文件和目錄
15、創(chuàng)建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 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>
 
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");
 - }
 - }
 
17、把 Array 轉(zhuǎn)換成 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、發(fā)送郵件
- 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、發(fā)送代數(shù)據(jù)的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、改變數(shù)組的大小
- /**
 - * 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]);
 - }
 - plain
 






















 
 
 






 
 
 
 