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程序设计有所帮助。
