Sometimes I need to read recursively all the files from a directory. I kept using DirectoryScanner class from the Apache(located in ant.jar in my case). It has the advantage that it can filter through files based on the well-known asterisk matching. Recently I had to look-up in a directory containing lots and lots of files and it proved DirectoryScanner tended to be quite slow. So I used plain java for that(using java.io.File and java.io.FilenameFilter classes), for 2 reasons. First is that the speed can be improved quite easy. The second reason is that reporting progress in command line give the impression it takes less time.
Continue reading
Category Archives: java snippets
How To Resize/Convert Images In Java
Java comes by default with some classes to manipulate images. Those classes are located in java.awt package and are intended to be used for awt applications. For this reason they are not too rich in functionality to have enough options to control the resize quality. In the following snippet BufferedImage and ImageIO can be used to load an image in memory and to convert it to different format: Continue reading
How to Obtain the IP Address and DNS Details for a domain in java
In the following snippet you can find out how to use the InetAddress class to obtain the ip of the server where a domain is hosted along with the DNS information. Using this class you’ll obtain only the technical DNS details(name server, SOA & MX records), not the emails or the names of the domain owners.
Continue reading
Date Time Manipulation In Java
There are 2 useful classes in java to manipulate dates: java.util.Date and java.util.Calendar. Another useful class to format and parse string dates is java.text.SimpleDateFormat. Continue reading
How To Use JDBC addBatch Method with MySQL for Improved Performance
[tweet-dzone]When you have to deal with a large amount of data to be operated on mySQL databases, the performance can be dramatically improved using a few simple tweaks.
First of all you have to use Statement.addBatch/executeBatch instead of simple execute methods. For each added batch, the jdbc driver will store in local memory and when the executeBatch is invoked, all the batches are sent at once to the database. This will result in an huge speed improvement.
Continue reading
How To Download a File in Java
Here is a snippet that shows how to download a file in java. The snippet is tested and works just fine:
static public void download(String address, String localFileName) throws MalformedURLException , FileNotFoundException , IOException { URL url = new URL(address); OutputStream out = new BufferedOutputStream( new FileOutputStream(localFileName)); URLConnection conn = url.openConnection(); InputStream in = conn.getInputStream(); byte[] buffer = new byte[1024]; int numRead; int progress = 0; while ((numRead = in.read(buffer)) != -1) { out.write(buffer, 0, numRead); progress += 1024; System.out.print("\r" + (int)(progress / 1000)+ "kb"); } in.close(); out.close(); }
How to use Post Method using Apache HttpClient 4
[tweet-dzone]HttpClient is an apache java library that can be used to read pages over http. It can be used mainly for webpages and provide a well defined API that can handle Cookies, Sessions,… It offers support for both Get and Post methods, so it’s very useful for writing http java clients that can login and perform different actions on webpages.
Starting with the version 4 the classes were drastically changed. Old tutorials don’t works anymore and the class names and methods were changed to some degree which makes old code pretty useless if you want to switch to a version 4.
Continue reading
How to Convert InputStream to String
[tweet-dzone]Sometimes I feel there are too many classes in java to work with streams and files. InputStream is the base class of all the classes in Java IO API. The input stream class is intended to be used to read the data from different sources in chunks. This is useful for large streams that don’t fit in memory.
Lots of libraries returns objects of type InputStream and sometimes you know the stream small and you just need the data as a simple String. Here is the snippet written as a static method to transfer the data from a InputStream to a String.
Continue reading
Storing parameters in web.xml: context-param & init-param
There are two options to store parameters in web.xml:
– context parameters – available to the entire scope of the web application
– init parameters – available in the context of a servlet or filter in the web application
Context Parameters
How to Read/Write Java Properties Files
Java properties files are just simple text files that are widely used in Java to store different properties which should not be hard coded in java source files. By convention, properties files should have the .properties extension. They have a simple structure, each line defining a key/value pair. It is also possible to define larger text values on multiple lines. The main benefit of the properties files is the one that they can be easily edited by hand using any text editor.
Continue reading