20个必备Java程序片段总结(上)

原创|其它|编辑:郝浩|2009-12-17 11:21:43.000|阅读 564 次

概述:本文中总结了20个非常有价值的Java程序片段。

# 界面/图表报表/文档/IDE等千款热门软控件火热销售中 >>

  下面是20个非常有用的Java程序片段,希望能对你有用。

  1. 字符串有整型的相互转换

  Java代码

  String a = String.valueOf(2); //integer to numeric string
  int i = Integer.parseInt(a); //numeric string to an int

  2. 向文件末尾添加内容

  Java代码

  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();
  }
  }

  3. 得到当前方法的名字

  Java代码

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

  4. 转字符串到日期

  Java代码

  java.util.Date = java.text.DateFormat.getDateInstance().parse(date String);

  或者是:

  SimpleDateFormat format = new SimpleDateFormat( "dd.MM.yyyy" );
  Date date = format.parse( myString );

  5. 使用JDBC链接Oracle

  Java代码

  public class OracleJdbcTest
  {
  String driverClass = "oracle.jdbc.driver.OracleDriver";
  Connection con;
  public void init(FileInputStream fs) throws ClassNotFoundException, SQLException, FileNotFoundException, IOException
  {
  Properties props = new Properties();
  props.load(fs);
  String url = props.getProperty("db.url");
  String userName = props.getProperty("db.user");
  String password = props.getProperty("db.password");
  Class.forName(driverClass);
  con=DriverManager.getConnection(url, userName, password);
  }
  public void fetch() throws SQLException, IOException
  {
  PreparedStatement ps = con.prepareStatement("select SYSDATE from dual");
  ResultSet rs = ps.executeQuery();
  while (rs.next())
  {
  // do the thing you do
  }
  rs.close();
  ps.close();
  }
  public static void main(String[] args)
  {
  OracleJdbcTest test = new OracleJdbcTest();
  test.init();
  test.fetch();
  }
  }

  6. 把 Java util.Date 转成 sql.Date

  Java代码

  java.util.Date utilDate = new java.util.Date();
  java.sql.Date sqlDate = new java.sql.Date(utilDate.getTime());

  7. 使用NIO进行快速的文件拷贝

  Java代码

  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. 创建图片的缩略图

  Java代码

  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 格式的数据

  Java代码

  请先阅读这篇文章 了解一些细节,

  并下面这个JAR 文件:json-rpc-1.0.jar (75 kb)
  import org.json.JSONObject;
  ...
  ...
  JSONObject json = new JSONObject();
  json.put("city", "Mumbai");
  json.put("country", "India");
  ...
  String output = json.toString();
  ...

  10. 使用iText JAR生成PDF

  Java代码

  阅读这篇文章 了解更多细节

  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();
  }
  }
  }

  11. HTTP 代理设置

  Java代码

  阅读这篇 文章 了解更多细节。

  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 示例

  Java代码

  请先阅读这篇文章 了解更多信息

  public class SimpleSingleton {
  private static SimpleSingleton singleInstance = new SimpleSingleton();
  //Marking default constructor private
  //to avoid direct instantiation.
  private SimpleSingleton() {
  }
  //Get instance for class SimpleSingleton
  public static SimpleSingleton getInstance() {
  return singleInstance;
  }
  }

  另一种实现

  public enum SimpleSingleton {
  INSTANCE;
  public void doSomething() {
  }
  }
  //Call the method from Singleton:
  SimpleSingleton.INSTANCE.doSomething();

  13. 抓屏程序

  Java代码

  阅读这篇文章 获得更多信息。

  import java.awt.Dimension;
  import java.awt.Rectangle;
  import java.awt.Robot;
  import java.awt.Toolkit;
  import java.awt.image.BufferedImage;
  import javax.imageio.ImageIO;
  import java.io.File;
  ...
  public void captureScreen(String fileName) throws Exception {
  Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
  Rectangle screenRectangle = new Rectangle(screenSize);
  Robot robot = new Robot();
  BufferedImage image = robot.createScreenCapture(screenRectangle);
  ImageIO.write(image, "png", new File(fileName));
  }
  ...

  阅读这篇文章 获得更多信息。

  import java.awt.Dimension;
  import java.awt.Rectangle;
  import java.awt.Robot;
  import java.awt.Toolkit;
  import java.awt.image.BufferedImage;
  import javax.imageio.ImageIO;
  import java.io.File;
  ...
  public void captureScreen(String fileName) throws Exception {
  Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
  Rectangle screenRectangle = new Rectangle(screenSize);
  Robot robot = new Robot();
  BufferedImage image = robot.createScreenCapture(screenRectangle);
  ImageIO.write(image, "png", new File(fileName));
  }


标签:

本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@evget.com

文章转载自:网络转载

为你推荐

  • 推荐视频
  • 推荐活动
  • 推荐产品
  • 推荐文章
  • 慧都慧问
扫码咨询


添加微信 立即咨询

电话咨询

客服热线
023-68661681

TOP