6. 把 Java util.Date 轉成 sql.Date
1 2 | java.util.Date utilDate = new java.util.Date(); java.sql.Date sqlDate = new java.sql.Date(utilDate.getTime()); |
7. 使用NIO進行快速的文件拷貝
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | public static void fileCopy( File in, File out )
throws IOException
{
FileChannel inChannel = new FileInputStream( in ).getChannel();
FileChannel outChannel = new FileOutputStream( out ).getChannel();
try
{ // inChannel.transferTo(0, inChannel.size(), outChannel); // original -- apparently has trouble copying large files on Windows
// magic number for Windows, 64Mb - 32Kb)
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. 創建圖片的縮略圖
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 | private void createThumbnail(String filename, int thumbWidth, int thumbHeight, int quality, String outFilename)
throws InterruptedException, FileNotFoundException, IOException
{
// load image from filename
Image image = Toolkit.getDefaultToolkit().getImage(filename);
MediaTracker mediaTracker = new MediaTracker( new Container());
mediaTracker.addImage(image, 0 );
mediaTracker.waitForID( 0 );
// use this to test for errors at this point: System.out.println(mediaTracker.isErrorAny());
// determine thumbnail size from WIDTH and HEIGHT
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);
}
// draw original image to thumbnail image object and
// scale it to the new size on-the-fly
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 );
// save thumbnail image to outFilename
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. 創建 JSON 格式的數據
請先閱讀這篇文章 瞭解一些細節,
並下面這個JAR 文件:json-rpc-1.0.jar (75 kb)
1 2 3 4 5 6 7 8 9 | import org.json.JSONObject; ... ... JSONObject json = new JSONObject(); json.put( "city" , "Mumbai" ); json.put( "country" , "India" ); ... String output = json.toString(); ... |
10. 使用iText JAR生成PDF
閱讀這篇文章 瞭解更多細節
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 |
import java.io.File; import java.io.FileOutputStream; import java.io.OutputStream; import java.util.Date;
import com.lowagie.text.Document; import com.lowagie.text.Paragraph; import com.lowagie.text.pdf.PdfWriter;
public class GeneratePDF {
public static void main(String[] args) {
try {
OutputStream file = new FileOutputStream( new File( "C:\\Test.pdf" ));
Document document = new Document();
PdfWriter.getInstance(document, file);
document.open();
document.add( new Paragraph( "Hello Kiran" ));
document.add( new Paragraph( new Date().toString()));
document.close();
file.close();
} catch (Exception e) {
e.printStackTrace();
}
} } |