20非常有用的Java程序片段

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

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

    Stringa=String.valueOf(2);//integertonumericstringinti=Integer.parseInt(a);//numericstringtoanint

2. 向文件末尾添加内容

    BufferedWriterout=null;try{out=newBufferedWriter(newFileWriter(”filename”,true));out.write(”aString”);}catch(IOExceptione){//errorprocessingcode}finally{if(out!=null){out.close();}}

3. 得到当前方法的名字

    StringmethodName=Thread.currentThread().getStackTrace()[1].getMethodName();

4. 转字符串到日期

    java.util.Date=java.text.DateFormat.getDateInstance().parse(dateString);

或者是:

    SimpleDateFormatformat=newSimpleDateFormat("dd.MM.yyyy");Datedate=format.parse(myString);

5. 使用JDBC链接Oracle

    publicclassOracleJdbcTest{StringdriverClass="oracle.jdbc.driver.OracleDriver";Connectioncon;publicvoidinit(FileInputStreamfs)throwsClassNotFoundException,SQLException,FileNotFoundException,IOException{Propertiesprops=newProperties();props.load(fs);Stringurl=props.getProperty("db.url");StringuserName=props.getProperty("db.user");Stringpassword=props.getProperty("db.password");Class.forName(driverClass);con=DriverManager.getConnection(url,userName,password);}publicvoidfetch()throwsSQLException,IOException{PreparedStatementps=con.prepareStatement("selectSYSDATEfromdual");ResultSetrs=ps.executeQuery();while(rs.next()){//dothethingyoudo}rs.close();ps.close();}publicstaticvoidmain(String[]args){OracleJdbcTesttest=newOracleJdbcTest();test.init();test.fetch();}}

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

    java.util.DateutilDate=newjava.util.Date();java.sql.DatesqlDate=newjava.sql.Date(utilDate.getTime());

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

    publicstaticvoidfileCopy(Filein,Fileout)throwsIOException{FileChannelinChannel=newFileInputStream(in).getChannel();FileChanneloutChannel=newFileOutputStream(out).getChannel();try{//inChannel.transferTo(0,inChannel.size(),outChannel);//original--apparentlyhastroublecopyinglargefilesonWindows//magicnumberforWindows,64Mb-32Kb)intmaxCount=(64*1024*1024)-(32*1024);longsize=inChannel.size();longposition=0;while(position<size){position+=inChannel.transferTo(position,maxCount,outChannel);}}finally{if(inChannel!=null){inChannel.close();}if(outChannel!=null){outChannel.close();}}}

8. 创建图片的缩略图

    privatevoidcreateThumbnail(Stringfilename,intthumbWidth,intthumbHeight,intquality,StringoutFilename)throwsInterruptedException,FileNotFoundException,IOException{//loadimagefromfilenameImageimage=Toolkit.getDefaultToolkit().getImage(filename);MediaTrackermediaTracker=newMediaTracker(newContainer());mediaTracker.addImage(image,0);mediaTracker.waitForID(0);//usethistotestforerrorsatthispoint:System.out.println(mediaTracker.isErrorAny());//determinethumbnailsizefromWIDTHandHEIGHTdoublethumbRatio=(double)thumbWidth/(double)thumbHeight;intimageWidth=image.getWidth(null);intimageHeight=image.getHeight(null);doubleimageRatio=(double)imageWidth/(double)imageHeight;if(thumbRatio<imageRatio){thumbHeight=(int)(thumbWidth/imageRatio);}else{thumbWidth=(int)(thumbHeight*imageRatio);}//draworiginalimagetothumbnailimageobjectand//scaleittothenewsizeon-the-flyBufferedImagethumbImage=newBufferedImage(thumbWidth,thumbHeight,BufferedImage.TYPE_INT_RGB);Graphics2Dgraphics2D=thumbImage.createGraphics();graphics2D.setRenderingHint(RenderingHints.KEY_INTERPOLATION,RenderingHints.VALUE_INTERPOLATION_BILINEAR);graphics2D.drawImage(image,0,0,thumbWidth,thumbHeight,null);//savethumbnailimagetooutFilenameBufferedOutputStreamout=newBufferedOutputStream(newFileOutputStream(outFilename));JPEGImageEncoderencoder=JPEGCodec.createJPEGEncoder(out);JPEGEncodeParamparam=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.创建 JSON 格式的数据

请先阅读这篇文章 了解一些细节,并下面这个JAR 文件:json-rpc-1.0.jar (75 kb)

    importorg.json.JSONObject;......JSONObjectjson=newJSONObject();json.put("city","Mumbai");json.put("country","India");...Stringoutput=json.toString();...

10. 使用iText JAR生成PDF

阅读这篇文章 了解更多细节

    importjava.io.File;importjava.io.FileOutputStream;importjava.io.OutputStream;importjava.util.Date;importcom.lowagie.text.Document;importcom.lowagie.text.Paragraph;importcom.lowagie.text.pdf.PdfWriter;publicclassGeneratePDF{publicstaticvoidmain(String[]args){try{OutputStreamfile=newFileOutputStream(newFile("C:\\Test.pdf"));Documentdocument=newDocument();PdfWriter.getInstance(document,file);document.open();document.add(newParagraph("HelloKiran"));document.add(newParagraph(newDate().toString()));document.close();file.close();}catch(Exceptione){e.printStackTrace();}}}

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

2. 单实例Singleton 示例

请先阅读这篇文章 了解更多信息

    publicclassSimpleSingleton{privatestaticSimpleSingletonsingleInstance=newSimpleSingleton();//Markingdefaultconstructorprivate//toavoiddirectinstantiation.privateSimpleSingleton(){}//GetinstanceforclassSimpleSingletonpublicstaticSimpleSingletongetInstance(){returnsingleInstance;}}

另一种实现

    publicenumSimpleSingleton{INSTANCE;publicvoiddoSomething(){}}//CallthemethodfromSingleton:SimpleSingleton.INSTANCE.doSomething();

13. 抓屏程序

阅读这篇文章 获得更多信息。

    importjava.awt.Dimension;importjava.awt.Rectangle;importjava.awt.Robot;importjava.awt.Toolkit;importjava.awt.image.BufferedImage;importjavax.imageio.ImageIO;importjava.io.File;...publicvoidcaptureScreen(StringfileName)throwsException{DimensionscreenSize=Toolkit.getDefaultToolkit().getScreenSize();RectanglescreenRectangle=newRectangle(screenSize);Robotrobot=newRobot();BufferedImageimage=robot.createScreenCapture(screenRectangle);ImageIO.write(image,"png",newFile(fileName));}...

14. 列出文件和目录

    Filedir=newFile("directoryName");String[]children=dir.list();if(children==null){//Eitherdirdoesnotexistorisnotadirectory}else{for(inti=0;i<children.length;i++){//GetfilenameoffileordirectoryStringfilename=children[i];}}//Itisalsopossibletofilterthelistofreturnedfiles.//Thisexampledoesnotreturnanyfilesthatstartwith`.'.FilenameFilterfilter=newFilenameFilter(){publicbooleanaccept(Filedir,Stringname){return!name.startsWith(".");}};children=dir.list(filter);//ThelistoffilescanalsoberetrievedasFileobjectsFile[]files=dir.listFiles();//ThisfilteronlyreturnsdirectoriesFileFilterfileFilter=newFileFilter(){publicbooleanaccept(Filefile){returnfile.isDirectory();}};files=dir.listFiles(fileFilter);

15. 创建ZIP和JAR文件

    importjava.util.zip.*;importjava.io.*;publicclassZipIt{publicstaticvoidmain(Stringargs[])throwsIOException{if(args.length<2){System.err.println("usage:javaZipItZip.zipfile1file2file3");System.exit(-1);}FilezipFile=newFile(args[0]);if(zipFile.exists()){System.err.println("Zipfilealreadyexists,pleasetryanother");System.exit(-2);}FileOutputStreamfos=newFileOutputStream(zipFile);ZipOutputStreamzos=newZipOutputStream(fos);intbytesRead;byte[]buffer=newbyte[1024];CRC32crc=newCRC32();for(inti=1,n=args.length;i<n;i++){Stringname=args[i];Filefile=newFile(name);if(!file.exists()){System.err.println("Skipping:"+name);continue;}BufferedInputStreambis=newBufferedInputStream(newFileInputStream(file));crc.reset();while((bytesRead=bis.read(buffer))!=-1){crc.update(buffer,0,bytesRead);}bis.close();//Resettobeginningofinputstreambis=newBufferedInputStream(newFileInputStream(file));ZipEntryentry=newZipEntry(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文件

    <?xmlversion="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代码:

    ackagenet.viralpatel.java.xmlparser;importjava.io.File;importjavax.xml.parsers.DocumentBuilder;importjavax.xml.parsers.DocumentBuilderFactory;importorg.w3c.dom.Document;importorg.w3c.dom.Element;importorg.w3c.dom.Node;importorg.w3c.dom.NodeList;publicclassXMLParser{publicvoidgetAllUserNames(StringfileName){try{DocumentBuilderFactorydbf=DocumentBuilderFactory.newInstance();DocumentBuilderdb=dbf.newDocumentBuilder();Filefile=newFile(fileName);if(file.exists()){Documentdoc=db.parse(file);ElementdocEle=doc.getDocumentElement();//PrintrootelementofthedocumentSystem.out.println("Rootelementofthedocument:"+docEle.getNodeName());NodeListstudentList=docEle.getElementsByTagName("student");//PrinttotalstudentelementsindocumentSystem.out.println("Totalstudents:"+studentList.getLength());if(studentList!=null&&studentList.getLength()>0){for(inti=0;i<studentList.getLength();i++){Nodenode=studentList.item(i);if(node.getNodeType()==Node.ELEMENT_NODE){System.out.println("=====================");Elemente=(Element)node;NodeListnodeList=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(Exceptione){System.out.println(e);}}publicstaticvoidmain(String[]args){XMLParserparser=newXMLParser();parser.getAllUserNames("c:\\test.xml");}}

17.把 Array转换成 Map

    importjava.util.Map;importorg.apache.commons.lang.ArrayUtils;publicclassMain{publicstaticvoidmain(String[]args){String[][]countries={{"UnitedStates","NewYork"},{"UnitedKingdom","London"},{"Netherland","Amsterdam"},{"Japan","Tokyo"},{"France","Paris"}};MapcountryCapitals=ArrayUtils.toMap(countries);System.out.println("CapitalofJapanis"+countryCapitals.get("Japan"));System.out.println("CapitalofFranceis"+countryCapitals.get("France"));}}

18. 发送邮件

    importjavax.mail.*;importjavax.mail.internet.*;importjava.util.*;publicvoidpostMail(Stringrecipients[],Stringsubject,Stringmessage,Stringfrom)throwsMessagingException{booleandebug=false;//SetthehostsmtpaddressPropertiesprops=newProperties();props.put("mail.smtp.host","smtp.example.com");//createsomepropertiesandgetthedefaultSessionSessionsession=Session.getDefaultInstance(props,null);session.setDebug(debug);//createamessageMessagemsg=newMimeMessage(session);//setthefromandtoaddressInternetAddressaddressFrom=newInternetAddress(from);msg.setFrom(addressFrom);InternetAddress[]addressTo=newInternetAddress[recipients.length];for(inti=0;i<recipients.length;i++){addressTo[i]=newInternetAddress(recipients[i]);}msg.setRecipients(Message.RecipientType.TO,addressTo);//Optional:YoucanalsosetyourcustomheadersintheEmailifyouWantmsg.addHeader("MyHeaderName","myHeaderValue");//SettingtheSubjectandContentTypemsg.setSubject(subject);msg.setContent(message,"text/plain");Transport.send(msg);}

19. 发送代数据的HTTP 请求

    importjava.io.BufferedReader;importjava.io.InputStreamReader;importjava.net.URL;publicclassMain{publicstaticvoidmain(String[]args){try{URLmy_url=newURL("http://coolshell.cn/");BufferedReaderbr=newBufferedReader(newInputStreamReader(my_url.openStream()));StringstrTemp="";while(null!=(strTemp=br.readLine())){System.out.println(strTemp);}}catch(Exceptionex){ex.printStackTrace();}}}

20. 改变数组的大小

    /***Reallocatesanarraywithanewsize,andcopiesthecontents*oftheoldarraytothenewarray.*@paramoldArraytheoldarray,tobereallocated.*@paramnewSizethenewarraysize.*@returnAnewarraywiththesamecontents.*/privatestaticObjectresizeArray(ObjectoldArray,intnewSize){intoldSize=java.lang.reflect.Array.getLength(oldArray);ClasselementType=oldArray.getClass().getComponentType();ObjectnewArray=java.lang.reflect.Array.newInstance(elementType,newSize);intpreserveLength=Math.min(oldSize,newSize);if(preserveLength>0)System.arraycopy(oldArray,0,newArray,0,preserveLength);returnnewArray;}//TestroutineforresizeArray().publicstaticvoidmain(String[]args){int[]a={1,2,3};a=(int[])resizeArray(a,5);a[3]=4;a[4]=5;for(inti=0;i<a.length;i++)System.out.println(a[i]);}

http://coolshell.cn/articles/889.html

觉得自己做的到和不做的到,其实只在一念之间

20非常有用的Java程序片段

相关文章:

你感兴趣的文章:

标签云: