常用的Java代码汇总
1. 字符串有整型的相互转换
1 <font face="Arial" size="3">String a = String.valueOf(2); //integer to numeric string 2 int i = Integer.parseInt(a); //numeric string to an int</font>
2. 向文件末尾添加内容
1 <font face="Arial" size="3">]BufferedWriter out = null; 2 try { 3 out = new BufferedWriter(new FileWriter(”filename”, true)); 4 out.write(”aString”); 5 } catch (IOException e) { 6 // error processing code 7 } finally { 8 if (out != null) { 9 out.close(); 10 } 11 }</font>
3. 得到当前方法的名字
1 <font face="Arial" size="3"><span style="font-family:Arial;font-size:14px;">String methodName = Thread.currentThread().getStackTrace()[1].getMethodName(); </span></font>
4. 转字符串到日期
1 <font face="Arial" size="3">java.util.Date = java.text.DateFormat.getDateInstance().parse(date String);</font>
或者是:
1 <font face="Arial" size="3">SimpleDateFormat format = new SimpleDateFormat( "dd.MM.yyyy" ); 2 Date date = format.parse( myString );</font>
5. 使用JDBC链接Oracle
1 <font face="Arial" size="3">public class OracleJdbcTest 2 { 3 String driverClass = "oracle.jdbc.driver.OracleDriver"; 4 5 Connection con; 6 7 public void init(FileInputStream fs) throws ClassNotFoundException, SQLException, FileNotFoundException, IOException 8 { 9 Properties props = new Properties(); 10 props.load(fs); 11 String url = props.getProperty("db.url"); 12 String userName = props.getProperty("db.user"); 13 String password = props.getProperty("db.password"); 14 Class.forName(driverClass); 15 16 con=DriverManager.getConnection(url, userName, password); 17 } 18 19 public void fetch() throws SQLException, IOException 20 { 21 PreparedStatement ps = con.prepareStatement("select SYSDATE from dual"); 22 ResultSet rs = ps.executeQuery(); 23 24 while (rs.next()) 25 { 26 // do the thing you do 27 } 28 rs.close(); 29 ps.close(); 30 } 31 32 public static void main(String[] args) 33 { 34 OracleJdbcTest test = new OracleJdbcTest(); 35 test.init(); 36 test.fetch(); 37 } 38 }</font>
6. 把 Java util.Date 转成 sql.Date
1 <font face="Arial" size="3"><span style="font-family:Arial;font-size:14px;">java.util.Date utilDate = new java.util.Date(); 2 java.sql.Date sqlDate = new java.sql.Date(utilDate.getTime());</span></font>
7. 使用NIO进行快速的文件拷贝
1 <font face="Arial" size="3">public static void fileCopy( File in, File out ) 2 throws IOException 3 { 4 FileChannel inChannel = new FileInputStream( in ).getChannel(); 5 FileChannel outChannel = new FileOutputStream( out ).getChannel(); 6 try 7 { 8 // inChannel.transferTo(0, inChannel.size(), outChannel); // original -- apparently has trouble copying large files on Windows 9 10 // magic number for Windows, 64Mb - 32Kb) 11 int maxCount = (64 * 1024 * 1024) - (32 * 1024); 12 long size = inChannel.size(); 13 long position = 0; 14 while ( position < size ) 15 { 16 position += inChannel.transferTo( position, maxCount, outChannel ); 17 } 18 } 19 finally 20 { 21 if ( inChannel != null ) 22 { 23 inChannel.close(); 24 } 25 if ( outChannel != null ) 26 { 27 outChannel.close(); 28 } 29 } 30 }</font>
8. 创建图片的缩略图
1 <font face="Arial" size="3">private void createThumbnail(String filename, int thumbWidth, int thumbHeight, int quality, String outFilename) 2 throws InterruptedException, FileNotFoundException, IOException 3 { 4 // load image from filename 5 Image image = Toolkit.getDefaultToolkit().getImage(filename); 6 MediaTracker mediaTracker = new MediaTracker(new Container()); 7 mediaTracker.addImage(image, 0); 8 mediaTracker.waitForID(0); 9 // use this to test for errors at this point: System.out.println(mediaTracker.isErrorAny()); 10 11 // determine thumbnail size from WIDTH and HEIGHT 12 double thumbRatio = (double)thumbWidth / (double)thumbHeight; 13 int imageWidth = image.getWidth(null); 14 int imageHeight = image.getHeight(null); 15 double imageRatio = (double)imageWidth / (double)imageHeight; 16 if (thumbRatio < imageRatio) { 17 thumbHeight = (int)(thumbWidth / imageRatio); 18 } else { 19 thumbWidth = (int)(thumbHeight * imageRatio); 20 } 21 22 // draw original image to thumbnail image object and 23 // scale it to the new size on-the-fly 24 BufferedImage thumbImage = new BufferedImage(thumbWidth, thumbHeight, BufferedImage.TYPE_INT_RGB); 25 Graphics2D graphics2D = thumbImage.createGraphics(); 26 graphics2D.setRenderingHint(RenderingHints.KEY_INTERPOLATION, RenderingHints.VALUE_INTERPOLATION_BILINEAR); 27 graphics2D.drawImage(image, 0, 0, thumbWidth, thumbHeight, null); 28 29 // save thumbnail image to outFilename 30 BufferedOutputStream out = new BufferedOutputStream(new FileOutputStream(outFilename)); 31 JPEGImageEncoder encoder = JPEGCodec.createJPEGEncoder(out); 32 JPEGEncodeParam param = encoder.getDefaultJPEGEncodeParam(thumbImage); 33 quality = Math.max(0, Math.min(quality, 100)); 34 param.setQuality((float)quality / 100.0f, false); 35 encoder.setJPEGEncodeParam(param); 36 encoder.encode(thumbImage); 37 out.close(); 38 }</font>
9.创建 JSON 格式的数据
并下面这个JAR 文件:json-rpc-1.0.jar (75 kb)/http://t.cn/Rz0bhUA
1 <font face="Arial" size="3">import org.json.JSONObject; 2 ... 3 ... 4 JSONObject json = new JSONObject(); 5 json.put("city", "Mumbai"); 6 json.put("country", "India"); 7 ... 8 String output = json.toString(); 9 ...</font>
10. 使用iText JAR生成PDF
1 <font face="Arial" size="3">import java.io.File; 2 import java.io.FileOutputStream; 3 import java.io.OutputStream; 4 import java.util.Date; 5 6 import com.lowagie.text.Document; 7 import com.lowagie.text.Paragraph; 8 import com.lowagie.text.pdf.PdfWriter; 9 10 public class GeneratePDF { 11 12 public static void main(String[] args) { 13 try { 14 OutputStream file = new FileOutputStream(new File("C:\\Test.pdf")); 15 16 Document document = new Document(); 17 PdfWriter.getInstance(document, file); 18 document.open(); 19 document.add(new Paragraph("Hello Kiran")); 20 document.add(new Paragraph(new Date().toString())); 21 22 document.close(); 23 file.close(); 24 25 } catch (Exception e) { 26 27 e.printStackTrace(); 28 } 29 } 30 }</font>
11. HTTP 代理设置
1 <font face="Arial" size="3">System.getProperties().put("http.proxyHost", "someProxyURL"); 2 System.getProperties().put("http.proxyPort", "someProxyPort"); 3 System.getProperties().put("http.proxyUser", "someUserName"); 4 System.getProperties().put("http.proxyPassword", "somePassword");</font>
12. 单实例Singleton 示例
1 <font face="Arial" size="3">public class SimpleSingleton { 2 private static SimpleSingleton singleInstance = new SimpleSingleton(); 3 4 //Marking default constructor private 5 //to avoid direct instantiation. 6 private SimpleSingleton() { 7 } 8 9 //Get instance for class SimpleSingleton 10 public static SimpleSingleton getInstance() { 11 12 return singleInstance; 13 } 14 }</font>
13. 抓屏程序
1 <font face="Arial" size="3">import java.awt.Dimension; 2 import java.awt.Rectangle; 3 import java.awt.Robot; 4 import java.awt.Toolkit; 5 import java.awt.image.BufferedImage; 6 import javax.imageio.ImageIO; 7 import java.io.File; 8 9 ... 10 11 public void captureScreen(String fileName) throws Exception { 12 13 Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize(); 14 Rectangle screenRectangle = new Rectangle(screenSize); 15 Robot robot = new Robot(); 16 BufferedImage image = robot.createScreenCapture(screenRectangle); 17 ImageIO.write(image, "png", new File(fileName)); 18 19 } 20 ...</font>
14. 列出文件和目录
1 <font face="Arial" size="3">File dir = new File("directoryName"); 2 String[] children = dir.list(); 3 if (children == null) { 4 // Either dir does not exist or is not a directory 5 } else { 6 for (int i=0; i < children.length; i++) { 7 // Get filename of file or directory 8 String filename = children; 9 } 10 } 11 12 // It is also possible to filter the list of returned files. 13 // This example does not return any files that start with `.'. 14 FilenameFilter filter = new FilenameFilter() { 15 public boolean accept(File dir, String name) { 16 return !name.startsWith("."); 17 } 18 }; 19 children = dir.list(filter); 20 21 // The list of files can also be retrieved as File objects 22 File[] files = dir.listFiles(); 23 24 // This filter only returns directories 25 FileFilter fileFilter = new FileFilter() { 26 public boolean accept(File file) { 27 return file.isDirectory(); 28 } 29 }; 30 files = dir.listFiles(fileFilter);</font>
15. 创建ZIP和JAR文件
1 <font face="Arial" size="3"><span style="font-family:Arial;font-size:14px;">import java.util.zip.*; 2 import java.io.*; 3 4 public class ZipIt { 5 public static void main(String args[]) throws IOException { 6 if (args.length < 2) { 7 System.err.println("usage: java ZipIt Zip.zip file1 file2 file3"); 8 System.exit(-1); 9 } 10 File zipFile = new File(args[0]); 11 if (zipFile.exists()) { 12 System.err.println("Zip file already exists, please try another"); 13 System.exit(-2); 14 } 15 FileOutputStream fos = new FileOutputStream(zipFile); 16 ZipOutputStream zos = new ZipOutputStream(fos); 17 int bytesRead; 18 byte[] buffer = new byte[1024]; 19 CRC32 crc = new CRC32(); 20 for (int i=1, n=args.length; i < n; i++) { 21 String name = args; 22 File file = new File(name); 23 if (!file.exists()) { 24 System.err.println("Skipping: " + name); 25 continue; 26 } 27 BufferedInputStream bis = new BufferedInputStream( 28 new FileInputStream(file)); 29 crc.reset(); 30 while ((bytesRead = bis.read(buffer)) != -1) { 31 crc.update(buffer, 0, bytesRead); 32 } 33 bis.close(); 34 // Reset to beginning of input stream 35 bis = new BufferedInputStream( 36 new FileInputStream(file)); 37 ZipEntry entry = new ZipEntry(name); 38 entry.setMethod(ZipEntry.STORED); 39 entry.setCompressedSize(file.length()); 40 entry.setSize(file.length()); 41 entry.setCrc(crc.getValue()); 42 zos.putNextEntry(entry); 43 while ((bytesRead = bis.read(buffer)) != -1) { 44 zos.write(buffer, 0, bytesRead); 45 } 46 bis.close(); 47 } 48 zos.close(); 49 } 50 } </span></font>
16. 解析/读取XML 文件
XML文件
1 <font face="Arial" size="3"><?xml version="1.0"?> 2 <students> 3 <student> 4 <name>John</name> 5 <grade>B</grade> 6 <age>12</age> 7 </student> 8 <student> 9 <name>Mary</name> 10 <grade>A</grade> 11 <age>11</age> 12 </student> 13 <student> 14 <name>Simon</name> 15 <grade>A</grade> 16 <age>18</age> 17 </student> 18 </students></font>
Java代码
1 <font face="Arial" size="3"><span style="font-family:Arial;font-size:14px;">package net.viralpatel.java.xmlparser; 2 3 import java.io.File; 4 import javax.xml.parsers.DocumentBuilder; 5 import javax.xml.parsers.DocumentBuilderFactory; 6 7 import org.w3c.dom.Document; 8 import org.w3c.dom.Element; 9 import org.w3c.dom.Node; 10 import org.w3c.dom.NodeList; 11 12 public class XMLParser { 13 14 public void getAllUserNames(String fileName) { 15 try { 16 DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance(); 17 DocumentBuilder db = dbf.newDocumentBuilder(); 18 File file = new File(fileName); 19 if (file.exists()) { 20 Document doc = db.parse(file); 21 Element docEle = doc.getDocumentElement(); 22 23 // Print root element of the document 24 System.out.println("Root element of the document: " 25 + docEle.getNodeName()); 26 27 NodeList studentList = docEle.getElementsByTagName("student"); 28 29 // Print total student elements in document 30 System.out 31 .println("Total students: " + studentList.getLength()); 32 33 if (studentList != null && studentList.getLength() > 0) { 34 for (int i = 0; i < studentList.getLength(); i++) { 35 36 Node node = studentList.item(i); 37 38 if (node.getNodeType() == Node.ELEMENT_NODE) { 39 40 System.out 41 .println("====================="); 42 43 Element e = (Element) node; 44 NodeList nodeList = e.getElementsByTagName("name"); 45 System.out.println("Name: " 46 + nodeList.item(0).getChildNodes().item(0) 47 .getNodeValue()); 48 49 nodeList = e.getElementsByTagName("grade"); 50 System.out.println("Grade: " 51 + nodeList.item(0).getChildNodes().item(0) 52 .getNodeValue()); 53 54 nodeList = e.getElementsByTagName("age"); 55 System.out.println("Age: " 56 + nodeList.item(0).getChildNodes().item(0) 57 .getNodeValue()); 58 } 59 } 60 } else { 61 System.exit(1); 62 } 63 } 64 } catch (Exception e) { 65 System.out.println(e); 66 } 67 } 68 public static void main(String[] args) { 69 70 XMLParser parser = new XMLParser(); 71 parser.getAllUserNames("c:\\test.xml"); 72 } 73 }</span></font>
17. 把 Array 转换成 Map
1 <font face="Arial" size="3">import java.util.Map; 2 import org.apache.commons.lang.ArrayUtils; 3 4 public class Main { 5 6 public static void main(String[] args) { 7 String[][] countries = { { "United States", "New York" }, { "United Kingdom", "London" }, 8 { "Netherland", "Amsterdam" }, { "Japan", "Tokyo" }, { "France", "Paris" } }; 9 10 Map countryCapitals = ArrayUtils.toMap(countries); 11 12 System.out.println("Capital of Japan is " + countryCapitals.get("Japan")); 13 System.out.println("Capital of France is " + countryCapitals.get("France")); 14 } 15 }</font>
18. 发送邮件
1 <font face="Arial" size="3">import javax.mail.*; 2 import javax.mail.internet.*; 3 import java.util.*; 4 5 public void postMail( String recipients[ ], String subject, String message , String from) throws MessagingException 6 { 7 boolean debug = false; 8 9 //Set the host smtp address 10 Properties props = new Properties(); 11 props.put("mail.smtp.host", "smtp.example.com"); 12 13 // create some properties and get the default Session 14 Session session = Session.getDefaultInstance(props, null); 15 session.setDebug(debug); 16 17 // create a message 18 Message msg = new MimeMessage(session); 19 20 // set the from and to address 21 InternetAddress addressFrom = new InternetAddress(from); 22 msg.setFrom(addressFrom); 23 24 InternetAddress[] addressTo = new InternetAddress[recipients.length]; 25 for (int i = 0; i < recipients.length; i++) 26 { 27 addressTo = new InternetAddress(recipients); 28 } 29 msg.setRecipients(Message.RecipientType.TO, addressTo); 30 31 // Optional : You can also set your custom headers in the Email if you Want 32 msg.addHeader("MyHeaderName", "myHeaderValue"); 33 34 // Setting the Subject and Content Type 35 msg.setSubject(subject); 36 msg.setContent(message, "text/plain"); 37 Transport.send(msg); 38 }</font>
19. 发送代数据的HTTP 请求
1 <font face="Arial" size="3">import java.io.BufferedReader; 2 import java.io.InputStreamReader; 3 import java.net.URL; 4 5 public class Main { 6 public static void main(String[] args) { 7 try { 8 URL my_url = new URL("http://coolshell.cn/"); 9 BufferedReader br = new BufferedReader(new InputStreamReader(my_url.openStream())); 10 String strTemp = ""; 11 while(null != (strTemp = br.readLine())){ 12 System.out.println(strTemp); 13 } 14 } catch (Exception ex) { 15 ex.printStackTrace(); 16 } 17 } 18 }</font>
20. 改变数组的大小
1 <font face="Arial" size="3">/** 2 * Reallocates an array with a new size, and copies the contents 3 * of the old array to the new array. 4 * @param oldArray the old array, to be reallocated. 5 * @param newSize the new array size. 6 * @return A new array with the same contents. 7 */ 8 private static Object resizeArray (Object oldArray, int newSize) { 9 int oldSize = java.lang.reflect.Array.getLength(oldArray); 10 Class elementType = oldArray.getClass().getComponentType(); 11 Object newArray = java.lang.reflect.Array.newInstance( 12 elementType,newSize); 13 int preserveLength = Math.min(oldSize,newSize); 14 if (preserveLength > 0) 15 System.arraycopy (oldArray,0,newArray,0,preserveLength); 16 return newArray; 17 } 18 19 // Test routine for resizeArray(). 20 public static void main (String[] args) { 21 int[] a = {1,2,3}; 22 a = (int[])resizeArray(a,5); 23 a[3] = 4; 24 a[4] = 5; 25 for (int i=0; i<a.length; i++) 26 System.out.println (a); 27 }</font>