Java常用方法總結


1://獲取當前方法的名稱

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

2:字符串和整形數據之間 的想換轉換

     String a = String.valueOf(2);  
     int i = Integer.parseInt(a);

3:文件末尾添加數據內容

BufferedWriter out = null;
try {
  out = new BufferedWriter(new FileWriter(”filename”, true));
  out.write(”aString”);
} catch (IOException e) {
  // error processing code
} finally {
  if (out != null) {
    out.close();
  }
}
4:使用NIO快速拷貝文件
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();
      }
    }
  }
5:創建圖片縮略圖
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();
  }


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章