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
String a = String.valueOf(2); //integer to numeric string
inti = Integer.parseInt(a);//numeric string to an int
|
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();
}
}
|
String methodName = Thread.currentThread().getStackTrace()[1].getMethodName();
|
java.util.Date = java.text.DateFormat.getDateInstance().parse(date String);
|
or sql
SimpleDateFormat format =newSimpleDateFormat("dd.MM.yyyy");
Date date = format.parse( myString );
|
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();
}
}
|
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());
|
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();
}
}
}
|
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();
}
|
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();
...
|
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();
}
}
}
|
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");
|
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();
|
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));
}
...
|
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);
|
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();
}
}
|
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");
}
}
|
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"));
}
}
|
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);
}
|
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();
}
}
}
|
/**
* 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]);
}
|