20个非常有用的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 = newBufferedWriter(new FileWriter(”filename”, true));       

    out.write(”aString”);     

} catch (IOException e) {        

    // error processing code     

} finally {         

    if (out != null) {            out.close();        

}    

}

3、得到当前方法的名字

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

4、转字符串到日期

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

或者是:

SimpleDateFormatformat = new SimpleDateFormat( "dd.MM.yyyy" );  

Date date =format.parse( myString );

5、使用JDBC链接Oracle

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

java.util.DateutilDate = new java.util.Date();  

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

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

 

8、创建图片的缩略图

 

9、创建 JSON 格式的数据

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

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");

12、单实例Singleton 示例

public class SimpleSingleton{         

private static SimpleSingletonsingleInstance =  new SimpleSingleton();        

    //Marking default constructor private         

    //to avoid direct instantiation.        

    privateSimpleSingleton() {         }        

    //Get instance for class SimpleSingleton         

    public static SimpleSingletongetInstance() {             

    returnsingleInstance;         

    }     

}

另一种实现

public enumSimpleSingleton {         

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、创建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文件

<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代码

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 voidgetAllUserNames(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 thedocument                    
				System.out.println("Root elementof the document: "+ docEle.getNodeName());                    
				NodeListstudentList = docEle.getElementsByTagName("student");                    // Print totalstudent 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 staticvoid main(String[] args) {            
		XMLParser parser = new XMLParser();            
		parser.getAllUserNames("c:      est.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" } };
		MapcountryCapitals = 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 = newProperties();         
	props.put("mail.smtp.host", "smtp.example.com");        // create some properties and get the default Session        
	Sessionsession = Session.getDefaultInstance(props, null);        
	session.setDebug(debug);         // create amessage        
	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 theEmail 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 = newBufferedReader(new InputStreamReader(my_url.openStream()));
			String strTemp = "";
			while (null != (strTemp = br.readLine())) {
				System.out.println(strTemp);
			}
		} catch (Exception ex) {
			ex.printStackTrace();
		}
	}
}

20、改变数组的大小

 private static ObjectresizeArray (Object oldArray, int newSize) {        
	 intoldSize = 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;     }     // Testroutine 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]);    
	 }

21、实现面向切面编程

publicclassExample1 {

publicvoidexecute() {

// 记录日志

Logger logger = Logger.getLog(...);

// 进行性能统计

PerformanceUtil.startTimer(...);

// 权限检查

if (!user.hasPrevilege()) {

// 抛出异常

}

// 执行真正的业务

executeTransaction();

PerformanceUtil.endTimer();

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值