非常有用的Java程序片段_JAVA_编程开发_程序员俱乐部

中国优秀的程序员网站程序员频道CXYCLUB技术地图
热搜:
更多>>
 
您所在的位置: 程序员俱乐部 > 编程开发 > JAVA > 非常有用的Java程序片段

非常有用的Java程序片段

 2013/9/24 10:04:47  vipshichg  程序员俱乐部  我要评论(0)
  • 摘要:下面是20个非常有用的Java程序片段,希望能对你有用。1.字符串有整型的相互转换Stringa=String.valueOf(2);//integertonumericstringinti=Integer.parseInt(a);//numericstringtoanint2.向文件末尾添加内容BufferedWriterout=null;try{out=newBufferedWriter(newFileWriter(”filename”,true));out.write(”aString”
  • 标签:程序 Java

下面是20个非常有用的Java程序片段,希望能对你有用。

1. 字符串有整型的相互转换

    class="dp-j" style="margin-left: 55px; padding-top: 5px; padding-bottom: 5px; color: #5c5c5c; border: none; background-color: #f7f7f7; margin-bottom: 1px !important;">
  1. String?a?=?String.valueOf(2);???//integer?to?numeric?string???
  2. int?i?=?Integer.parseInt(a);?//numeric?string?to?an?int??

2. 向文件末尾添加内容

  1. 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. }??

3. 得到当前方法的名字

  1. String?methodName?=?Thread.currentThread().getStackTrace()[1].getMethodName();??

4. 转字符串到日期

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

或者是:

  1. SimpleDateFormat?format?=?new?SimpleDateFormat(?"dd.MM.yyyy"?);???
  2. Date?date?=?format.parse(?myString?);??

5. 使用JDBC链接Oracle

  1. 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. }??

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

  1. java.util.Date?utilDate?=?new?java.util.Date();???
  2. java.sql.Date?sqlDate?=?new?java.sql.Date(utilDate.getTime());??

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

  1. 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. ????}??

8. 创建图片的缩略图

?

  1. 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. ????}??

9. 创建ZIP和JAR文件

  1. 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[i];???
  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. }??

10. 解析/读取XML 文件

XML文件

  1. <?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>??

Java代码:

?

  1. ackage?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. }??

11.?把 Array?转换成 Map?

  1. 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. }??

12. 发送邮件

  1. 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[i]?=?new?InternetAddress(recipients[i]);???
  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. }??

13. 发送代数据的HTTP 请求

  1. 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. }?

14. 改变数组的大小

  1. /**??
  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[i]);???
  27. }?
发表评论
用户名: 匿名