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;
/**
*Java学习交流QQ群:
589809992我们一起学Java!
*/
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//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.*;/**
*Java学习交流QQ群:
589809992我们一起学Java!
*/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;iStringname=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"?
>
John
B
12
Mary
A
11
Simon
A
18
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(Stri