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
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();
}
}
上一篇: toString 更优雅的实现方式
下一篇: Java反射机制(带应用)