20个非常有用的Java程序片段

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

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


  String a = String.valueOf(2);   //integer to numeric string  

  inti = Integer.parseInt(a); //numeric string to an int 

  2. 向文件末尾添加内容


  BufferedWriter out = null;  

  try{  

  out = newBufferedWriter(newFileWriter(”filename”, true));  

  out.write(”aString”);  

  } catch(IOException e) {  

  // error processing code  

  } finally{  

  if(out != null) {  

  out.close();  

  }  

  } 

  3. 得到当前方法的名字


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

  4. 转字符串到日期


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

  或者是:


  SimpleDateFormat format = newSimpleDateFormat( "dd.MM.yyyy");  

  Date date = format.parse( myString ); 

  5. 使用JDBC链接Oracle


  publicclassOracleJdbcTest  

  {  

  String driverClass = "oracle.jdbc.driver.OracleDriver";  

  Connection con;  

  publicvoidinit(FileInputStream fs) throwsClassNotFoundException, SQLException, FileNotFoundException, IOException  

  {  

  Properties props = newProperties();  

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

  }  

  publicvoidfetch() throwsSQLException, 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();  

  }  

  publicstaticvoidmain(String[] args)  

  {  

  OracleJdbcTest test = newOracleJdbcTest();  

  test.init();  

  test.fetch();  

  }  

  } 

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


  java.util.Date utilDate = newjava.util.Date();  

  java.sql.Date sqlDate = newjava.sql.Date(utilDate.getTime()); 

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


  publicstaticvoidfileCopy( File in, File out )  

  throwsIOException  

  {  

  FileChannel inChannel = newFileInputStream( in ).getChannel();  

  FileChannel outChannel = newFileOutputStream( out ).getChannel();  

  try 

  {  

  //          inChannel.transferTo(0, inChannel.size(), outChannel);      // original -- apparently has trouble copying large files on Windows  

  // magic number for Windows, 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(String filename, intthumbWidth, intthumbHeight, intquality, String outFilename)  

  throwsInterruptedException, FileNotFoundException, IOException  

  {  

  // load image from filename  

  Image image = Toolkit.getDefaultToolkit().getImage(filename);  

  MediaTracker mediaTracker = newMediaTracker(newContainer());  

  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  

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

  }  

  // draw original image to thumbnail image object and  

  // scale it to the new size on-the-fly  

  BufferedImage thumbImage = newBufferedImage(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 = newBufferedOutputStream(newFileOutputStream(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)


  importorg.json.JSONObject;  

  ...  

  ...  

  JSONObject json = newJSONObject();  

  json.put("city", "Mumbai");  

  json.put("country", "India");  

  ...  

  String output = json.toString();  

  ... 

  10. 使用iText JAR生成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{  

  OutputStream file = newFileOutputStream(newFile("C:\\Test.pdf"));  

  Document document = newDocument();  

  PdfWriter.getInstance(document, file);  

  document.open();  

  document.add(newParagraph("Hello Kiran"));  

  document.add(newParagraph(newDate().toString()));  

  document.close();  

  file.close();  

  } catch(Exception e) {  

  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 {  

  privatestaticSimpleSingleton singleInstance =  newSimpleSingleton();  

  //Marking default constructor private  

  //to avoid direct instantiation.  

  privateSimpleSingleton() {  

  }  

  //Get instance for class SimpleSingleton  

  publicstaticSimpleSingleton getInstance() {  

  returnsingleInstance;  

  }  

  } 

  另一种实现


  publicenumSimpleSingleton {  

  INSTANCE;  

  publicvoiddoSomething() {  

  }  

  }  

  //Call the method from Singleton:  

  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(String fileName) throwsException {  

  Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();  

  Rectangle screenRectangle = newRectangle(screenSize);  

  Robot robot = newRobot();  

  BufferedImage image = robot.createScreenCapture(screenRectangle);  

  ImageIO.write(image, "png", newFile(fileName));  

  }  

  ... 

  14. 列出文件和目录


  File dir = newFile("directoryName");  

  String[] children = dir.list();  

  if(children == null) {  

  // Either dir does not exist or is not a directory  

  } else{  

  for(inti=0; i < children.length; i++) {  

  // Get filename of file or directory  

  String filename = children[i];  

  }  

  }  

  // It is also possible to filter the list of returned files.  

  // This example does not return any files that start with `.'.  

  FilenameFilter filter = newFilenameFilter() {  

  publicbooleanaccept(File dir, String name) {  

  return!name.startsWith(".");  

  }  

  };  

  children = dir.list(filter);  

  // The list of files can also be retrieved as File objects  

  File[] files = dir.listFiles();  

  // This filter only returns directories  

  FileFilter fileFilter = newFileFilter() {  

  publicbooleanaccept(File file) {  

  returnfile.isDirectory();  

  }  

  };  

  files = dir.listFiles(fileFilter); 

  15. 创建ZIP和JAR文件


  importjava.util.zip.*;  

  importjava.io.*;  

  publicclassZipIt {  

  publicstaticvoidmain(String args[]) throwsIOException {  

  if(args.length < 2) {  

  System.err.println("usage: java ZipIt Zip.zip file1 file2 file3");  

  System.exit(-1);  

  }  

  File zipFile = newFile(args[0]);  

  if(zipFile.exists()) {  

  System.err.println("Zip file already exists, please try another");  

  System.exit(-2);  

  }  

  FileOutputStream fos = newFileOutputStream(zipFile);  

  ZipOutputStream zos = newZipOutputStream(fos);  

  intbytesRead;  

  byte[] buffer = newbyte[1024];  

  CRC32 crc = newCRC32();  

  for(inti=1, n=args.length; i < n; i++) {  

  String name = args[i];  

  File file = newFile(name);  

  if(!file.exists()) {  

  System.err.println("Skipping: "+ name);  

  continue;  

  }  

  BufferedInputStream bis = newBufferedInputStream(  

  newFileInputStream(file));  

  crc.reset();  

  while((bytesRead = bis.read(buffer)) != -1) {  

  crc.update(buffer, 0, bytesRead);  

  }  

  bis.close();  

  // Reset to beginning of input stream  

  bis = newBufferedInputStream(  

  newFileInputStream(file));  

  ZipEntry entry = 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文件


   

   

   

  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(String fileName) {  

  try{  

  DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();  

  DocumentBuilder db = dbf.newDocumentBuilder();  

  File file = newFile(fileName);  

  if(file.exists()) {  

  Document doc = db.parse(file);  

  Element docEle = doc.getDocumentElement();  

  // Print root element of the document  

  System.out.println("Root element of the document: " 

  + docEle.getNodeName());  

  NodeList studentList = docEle.getElementsByTagName("student");  

  // Print total student elements in document  

  System.out  

  .println("Total students: "+ studentList.getLength());  

  if(studentList != null&& studentList.getLength() > 0) {  

  for(inti = 0; i < studentList.getLength(); i++) {  

  Node node = studentList.item(i);  

  if(node.getNodeType() == Node.ELEMENT_NODE) {  

  System.out  

  .println("=====================");  

  Element e = (Element) node;  

  NodeList nodeList = 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(Exception e) {  

  System.out.println(e);  

  }  

  }  

  publicstaticvoidmain(String[] args) {  

  XMLParser parser = newXMLParser();  

  parser.getAllUserNames("c:\\test.xml");  

  }  

  } 

  17. 把 Array 转换成 Map 


  importjava.util.Map;  

  importorg.apache.commons.lang.ArrayUtils;  

  publicclassMain {  

  publicstaticvoidmain(String[] args) {  

  String[][] countries = { { "United States", "New York"}, { "United Kingdom", "London"},  

  { "Netherland", "Amsterdam"}, { "Japan", "Tokyo"}, { "France", "Paris"} };  

  Map countryCapitals = ArrayUtils.toMap(countries);  

  System.out.println("Capital of Japan is "+ countryCapitals.get("Japan"));  

  System.out.println("Capital of France is "+ countryCapitals.get("France"));  

  }  

  } 

  18. 发送邮件


  importjavax.mail.*;  

  importjavax.mail.internet.*;  

  importjava.util.*;  

  publicvoidpostMail( String recipients[ ], String subject, String message , String from) throwsMessagingException  

  {  

  booleandebug = false;  

  //Set the host smtp address  

  Properties props = newProperties();  

  props.put("mail.smtp.host", "smtp.example.com");  

  // create some properties and get the default Session  

  Session session = Session.getDefaultInstance(props, null);  

  session.setDebug(debug);  

  // create a message  

  Message msg = newMimeMessage(session);  

  // set the from and to address  

  InternetAddress addressFrom = 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 : You can also set your custom headers in the Email if you Want  

  msg.addHeader("MyHeaderName", "myHeaderValue");  

  // Setting the Subject and Content Type  

  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{  

  URL my_url = newURL("http://coolshell.cn/");  

  BufferedReader br = newBufferedReader(newInputStreamReader(my_url.openStream()));  

  String strTemp = "";  

  while(null!= (strTemp = br.readLine())){  

  System.out.println(strTemp);  

  }  

  } catch(Exception ex) {  

  ex.printStackTrace();  

  }  

  }  

  }

  20. 改变数组的大小


  /** 

  * Reallocates an array with a new size, and copies the contents 

  * of the old array to the new array. 

  * @param oldArray  the old array, to be reallocated. 

  * @param newSize   the new array size. 

  * @return          A new array with the same contents. 

  */ 

  privatestaticObject resizeArray (Object oldArray, intnewSize) {  

  intoldSize = java.lang.reflect.Array.getLength(oldArray);  

  Class elementType = oldArray.getClass().getComponentType();  

  Object newArray = java.lang.reflect.Array.newInstance(  

  elementType,newSize);  

  intpreserveLength = Math.min(oldSize,newSize);  

  if(preserveLength > 0)  

  System.arraycopy (oldArray,0,newArray,0,preserveLength);  

  returnnewArray;  

  }  

  // Test routine for resizeArray().  

  publicstaticvoidmain (String[] args) {  

  int[] a = {1,2,3};  

  a = (int[])resizeArray(a,5);  

  a[3] = 4;  

  a[4] = 5;  

  for(inti=0; i
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 159,716评论 4 364
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 67,558评论 1 294
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 109,431评论 0 244
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 44,127评论 0 209
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,511评论 3 287
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,692评论 1 222
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,915评论 2 313
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,664评论 0 202
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,412评论 1 246
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,616评论 2 245
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 32,105评论 1 260
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,424评论 2 254
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 33,098评论 3 238
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,096评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,869评论 0 197
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,748评论 2 276
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,641评论 2 271

推荐阅读更多精彩内容