下面是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;">
- String?a?=?String.valueOf(2);????
- int?i?=?Integer.parseInt(a);??
2. 向文件末尾添加内容
- BufferedWriter?out?=?null;???
- try?{???
- ????out?=?new?BufferedWriter(new?FileWriter(”filename”,?true));???
- ????out.write(”aString”);???
- }?catch?(IOException?e)?{???
- ?????
- }?finally?{???
- ????if?(out?!=?null)?{???
- ????????out.close();???
- ????}???
- }??
3. 得到当前方法的名字
- String?methodName?=?Thread.currentThread().getStackTrace()[1].getMethodName();??
4. 转字符串到日期
- java.util.Date?=?java.text.DateFormat.getDateInstance().parse(date?String);??
或者是:
- SimpleDateFormat?format?=?new?SimpleDateFormat(?"dd.MM.yyyy"?);???
- Date?date?=?format.parse(?myString?);??
5. 使用JDBC链接Oracle
- public?class?OracleJdbcTest???
- {???
- ????String?driverClass?=?"oracle.jdbc.driver.OracleDriver";???
- ???
- ????Connection?con;???
- ???
- ????public?void?init(FileInputStream?fs)?throws?ClassNotFoundException,?SQLException,?FileNotFoundException,?IOException???
- ????{???
- ????????Properties?props?=?new?Properties();???
- ????????props.load(fs);???
- ????????String?url?=?props.getProperty("db.url");???
- ????????String?userName?=?props.getProperty("db.user");???
- ????????String?password?=?props.getProperty("db.password");???
- ????????Class.forName(driverClass);???
- ???
- ????????con=DriverManager.getConnection(url,?userName,?password);???
- ????}???
- ???
- ????public?void?fetch()?throws?SQLException,?IOException???
- ????{???
- ????????PreparedStatement?ps?=?con.prepareStatement("select?SYSDATE?from?dual");???
- ????????ResultSet?rs?=?ps.executeQuery();???
- ???
- ????????while?(rs.next())???
- ????????{???
- ?????????????
- ????????}???
- ????????rs.close();???
- ????????ps.close();???
- ????}???
- ???
- ????public?static?void?main(String[]?args)???
- ????{???
- ????????OracleJdbcTest?test?=?new?OracleJdbcTest();???
- ????????test.init();???
- ????????test.fetch();???
- ????}???
- }??
6.?把 Java util.Date?转成 sql.Date
- java.util.Date?utilDate?=?new?java.util.Date();???
- java.sql.Date?sqlDate?=?new?java.sql.Date(utilDate.getTime());??
7. 使用NIO进行快速的文件拷贝
- public?static?void?fileCopy(?File?in,?File?out?)???
- ????????????throws?IOException???
- ????{???
- ????????FileChannel?inChannel?=?new?FileInputStream(?in?).getChannel();???
- ????????FileChannel?outChannel?=?new?FileOutputStream(?out?).getChannel();???
- ????????try??
- ????????{???
- ?
- ???
- ?????????????
- ????????????int?maxCount?=?(64?*?1024?*?1024)?-?(32?*?1024);???
- ????????????long?size?=?inChannel.size();???
- ????????????long?position?=?0;???
- ????????????while?(?position?<?size?)???
- ????????????{???
- ???????????????position?+=?inChannel.transferTo(?position,?maxCount,?outChannel?);???
- ????????????}???
- ????????}???
- ????????finally??
- ????????{???
- ????????????if?(?inChannel?!=?null?)???
- ????????????{???
- ???????????????inChannel.close();???
- ????????????}???
- ????????????if?(?outChannel?!=?null?)???
- ????????????{???
- ????????????????outChannel.close();???
- ????????????}???
- ????????}???
- ????}??
8. 创建图片的缩略图
?
- private?void?createThumbnail(String?filename,?int?thumbWidth,?int?thumbHeight,?int?quality,?String?outFilename)???
- ????????throws?InterruptedException,?FileNotFoundException,?IOException???
- ????{???
- ?????????
- ????????Image?image?=?Toolkit.getDefaultToolkit().getImage(filename);???
- ????????MediaTracker?mediaTracker?=?new?MediaTracker(new?Container());???
- ????????mediaTracker.addImage(image,?0);???
- ????????mediaTracker.waitForID(0);???
- ?????????
- ???
- ?????????
- ????????double?thumbRatio?=?(double)thumbWidth?/?(double)thumbHeight;???
- ????????int?imageWidth?=?image.getWidth(null);???
- ????????int?imageHeight?=?image.getHeight(null);???
- ????????double?imageRatio?=?(double)imageWidth?/?(double)imageHeight;???
- ????????if?(thumbRatio?<?imageRatio)?{???
- ????????????thumbHeight?=?(int)(thumbWidth?/?imageRatio);???
- ????????}?else?{???
- ????????????thumbWidth?=?(int)(thumbHeight?*?imageRatio);???
- ????????}???
- ???
- ?????????
- ?????????
- ????????BufferedImage?thumbImage?=?new?BufferedImage(thumbWidth,?thumbHeight,?BufferedImage.TYPE_INT_RGB);???
- ????????Graphics2D?graphics2D?=?thumbImage.createGraphics();???
- ????????graphics2D.setRenderingHint(RenderingHints.KEY_INTERPOLATION,?RenderingHints.VALUE_INTERPOLATION_BILINEAR);???
- ????????graphics2D.drawImage(image,?0,?0,?thumbWidth,?thumbHeight,?null);???
- ???
- ?????????
- ????????BufferedOutputStream?out?=?new?BufferedOutputStream(new?FileOutputStream(outFilename));???
- ????????JPEGImageEncoder?encoder?=?JPEGCodec.createJPEGEncoder(out);???
- ????????JPEGEncodeParam?param?=?encoder.getDefaultJPEGEncodeParam(thumbImage);???
- ????????quality?=?Math.max(0,?Math.min(quality,?100));???
- ????????param.setQuality((float)quality?/?100.0f,?false);???
- ????????encoder.setJPEGEncodeParam(param);???
- ????????encoder.encode(thumbImage);???
- ????????out.close();???
- ????}??
9. 创建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();???
- ?????????????
- ????????????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();???
- ????}???
- }??
10. 解析/读取XML 文件
XML文件
- <?xml?version="1.0"?>??
- <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代码:
?
- ackage?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?void?getAllUserNames(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();???
- ???
- ?????????????????
- ????????????????System.out.println("Root?element?of?the?document:?"??
- ????????????????????????+?docEle.getNodeName());???
- ???
- ????????????????NodeList?studentList?=?docEle.getElementsByTagName("student");???
- ???
- ?????????????????
- ????????????????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?static?void?main(String[]?args)?{???
- ???
- ????????XMLParser?parser?=?new?XMLParser();???
- ????????parser.getAllUserNames("c:\\test.xml");???
- ????}???
- }??
11.?把 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"?}?};???
- ???
- ????Map?countryCapitals?=?ArrayUtils.toMap(countries);???
- ???
- ????System.out.println("Capital?of?Japan?is?"?+?countryCapitals.get("Japan"));???
- ????System.out.println("Capital?of?France?is?"?+?countryCapitals.get("France"));???
- ??}???
- }??
12. 发送邮件
- 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;???
- ???
- ??????
- ?????Properties?props?=?new?Properties();???
- ?????props.put("mail.smtp.host",?"smtp.example.com");???
- ???
- ?????
- ????Session?session?=?Session.getDefaultInstance(props,?null);???
- ????session.setDebug(debug);???
- ???
- ?????
- ????Message?msg?=?new?MimeMessage(session);???
- ???
- ?????
- ????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);???
- ???
- ?????
- ????msg.addHeader("MyHeaderName",?"myHeaderValue");???
- ???
- ?????
- ????msg.setSubject(subject);???
- ????msg.setContent(message,?"text/plain");???
- ????Transport.send(msg);???
- }??
13. 发送代数据的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?=?new?BufferedReader(new?InputStreamReader(my_url.openStream()));???
- ????????????String?strTemp?=?"";???
- ????????????while(null?!=?(strTemp?=?br.readLine())){???
- ????????????System.out.println(strTemp);???
- ????????}???
- ????????}?catch?(Exception?ex)?{???
- ????????????ex.printStackTrace();???
- ????????}???
- ????}???
- }?
14. 改变数组的大小
- ?
- ?
- ?
- ?
- ?
- ?
- ??
- private?static?Object?resizeArray?(Object?oldArray,?int?newSize)?{???
- ???int?oldSize?=?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;???
- }???
- ???
- ?
- 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]);???
- }?