欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

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

程序员文章站 2022-05-12 14:21:28
...

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

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

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

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进行快速的文件拷贝

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

8、创建图片的缩略图

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

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
20个非常有用的Java程序片段

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、列出文件和目录

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

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

}

}

相关标签: J2SE