20 Very Useful Java Code Snippets

Following are few very useful Java code snippets for Java developers. Few of them are written by me and few are taken from other code reference. Feel free to comment about the code and also add your code snippet. java

1. Converting Strings to int and int to String

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

2. Append text to file in Java

Updated: Thanks Simone for pointing to exception. I have changed the code. node

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. Get name of current method in Java

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

4. Convert String to Date in Java

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

or sql

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

5. Connecting to Oracle using Java JDBC

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. Convert Java util.Date to sql.Date


This snippet shows how to convert a java util Date into a sql Date for use in databases. apache

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

7. Java Fast File Copy using 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. Create Thumbnail of an image in Java

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. Creating JSON data in Java

Read this article for more details.
Download JAR file 
json-rpc-1.0.jar (75 kb) json

importorg.json.JSONObject;
...
...
JSONObject json =newJSONObject();
json.put("city","Mumbai");
json.put("country","India");
...
String output = json.toString();
...

10. PDF Generation in Java using iText JAR

Read this article for more details. api

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 Proxy setting in Java

Read this article for more details. session

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. Java Singleton example

Read this article for more details.
Update: Thanks Markus for the comment. I have updated the code and changed it to more robust implementation.
oracle

publicclassSimpleSingleton {
    privatestaticSimpleSingleton singleInstance = newSimpleSingleton();
 
    //Marking default constructor private
    //to avoid direct instantiation.
    privateSimpleSingleton() {
    }
 
    //Get instance for class SimpleSingleton
    publicstaticSimpleSingleton getInstance() {
 
        returnsingleInstance;
    }
}

One more implementation of Singleton class. Thanks to Ralph and Lukasz Zielinski for pointing this out. app

publicenumSimpleSingleton {
    INSTANCE;
    publicvoiddoSomething() {
    }
}
 
//Call the method from Singleton:
SimpleSingleton.INSTANCE.doSomething();

13. Capture screen shots in Java

Read this article for more details. dom

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. Files-Directory listing in Java

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. Creating ZIP and JAR Files in Java

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. Parsing / Reading XML file in Java

Sample XML file.

<?xmlversion="1.0"?>
<students>
    <student>
        <name>John</name>
        <grade>B</grade>
        <age>12</age>
    </student>
    <student>
        <name>Mary</name>
        <grade>A</grade>
        <age>11</age>
    </student>
    <student>
        <name>Simon</name>
        <grade>A</grade>
        <age>18</age>
    </student>
</students>

Java code to parse above XML.

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. Convert Array to Map in Java

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. Send Email using Java

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. Send HTTP request & fetching data using Java

importjava.io.BufferedReader;
importjava.io.InputStreamReader;
importjava.net.URL;
 
publicclassMain {
    publicstaticvoidmain(String[] args)  {
        try{
            URL my_url =newURL("http://www.viralpatel.net/blogs/");
            BufferedReader br =newBufferedReader(newInputStreamReader(my_url.openStream()));
            String strTemp ="";
            while(null!= (strTemp = br.readLine())){
            System.out.println(strTemp);
        }
        }catch(Exception ex) {
            ex.printStackTrace();
        }
    }
}

20. Resize an Array in Java

/**
* 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<a.length; i++)
      System.out.println (a[i]);
}
相關文章
相關標籤/搜索