20个非常实用的Java程序代码片段
下面是20个非常有用的Java程序片段,希望能对你有用。
1.字符串有整型的相互转换
Stringa=String.valueOf(2);//integertonumericstring inti=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.把Javautil.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 { //loadimagefromfilename Imageimage=Toolkit.getDefaultToolkit().getImage(filename); MediaTrackermediaTracker=newMediaTracker(newContainer()); mediaTracker.addImage(image,0); mediaTracker.waitForID(0); //usethistotestforerrorsatthispoint:System.out.println(mediaTracker.isErrorAny()); //determinethumbnailsizefromWIDTHandHEIGHT doublethumbRatio=(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-fly BufferedImagethumbImage=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); //savethumbnailimagetooutFilename BufferedOutputStreamout=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(75kb)
importorg.json.JSONObject; ... ... JSONObjectjson=newJSONObject(); json.put("city","Mumbai"); json.put("country","India"); ... Stringoutput=json.toString(); ...
10.使用iTextJAR生成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");
12.单实例Singleton示例
publicclassSimpleSingleton{ privatestaticSimpleSingletonsingleInstance=newSimpleSingleton(); //Markingdefaultconstructorprivate //toavoiddirectinstantiation. privateSimpleSingleton(){ } //GetinstanceforclassSimpleSingleton publicstaticSimpleSingletongetInstance(){ 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++){ //Getfilenameoffileordirectory Stringfilename=children[i]; } } //Itisalsopossibletofilterthelistofreturnedfiles. //Thisexampledoesnotreturnanyfilesthatstartwith`.'. FilenameFilterfilter=newFilenameFilter(){ publicbooleanaccept(Filedir,Stringname){ return!name.startsWith("."); } }; children=dir.list(filter); //ThelistoffilescanalsoberetrievedasFileobjects File[]files=dir.listFiles(); //Thisfilteronlyreturnsdirectories FileFilterfileFilter=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(); //Resettobeginningofinputstream bis=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代码
packagenet.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(); //Printrootelementofthedocument System.out.println("Rootelementofthedocument:" +docEle.getNodeName()); NodeListstudentList=docEle.getElementsByTagName("student"); //Printtotalstudentelementsindocument System.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; //Setthehostsmtpaddress Propertiesprops=newProperties(); props.put("mail.smtp.host","smtp.example.com"); //createsomepropertiesandgetthedefaultSession Sessionsession=Session.getDefaultInstance(props,null); session.setDebug(debug); //createamessage Messagemsg=newMimeMessage(session); //setthefromandtoaddress InternetAddressaddressFrom=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:YoucanalsosetyourcustomheadersintheEmailifyouWant msg.addHeader("MyHeaderName","myHeaderValue"); //SettingtheSubjectandContentType msg.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]); }
希望本文所述对大家学习java程序设计有所帮助。