Friday, August 24, 2012

Print a file using java

/**
 * @author KushalP
 * www.sanjaal.com/java
 * Last Modified On 2009-05-19
 */


import java.awt.*;
import java.awt.font.*;
import java.awt.geom.*;
import java.awt.print.*;
import java.io.BufferedReader;
import java.io.FileReader;
import java.text.*;

/**
 * Using JAVA to print simple <span class="IL_AD" id="IL_AD3">text file</span> to a printer
 */

public class PrintFileToPrinter implements Printable {

    static AttributedString myStyledText = null;

    public static void main(String args[]) {
        /**Location of a file to print**/
        String fileName = "C:\\temp\\abc.txt";

        /**Read the text content from this location **/
        String mText = readContentFromFileToPrint(fileName);

        /**Create an AttributedString object from the text read*/
        myStyledText = new AttributedString(mText);

        printToPrinter();

    }

    /**
     * This method reads the content of a text file.
     * The location of the file is provided in the parameter
     */
    private static String readContentFromFileToPrint(String fileName) {
        String dataToPrint = "";

        try {
            BufferedReader input = new BufferedReader(new FileReader(fileName));
            String line = "";
            /**Read the file and populate the data**/
            while ((line = input.readLine()) != null) {
                dataToPrint += line + "\n";
            }
        } catch (Exception e) {
            return dataToPrint;
        }
        return dataToPrint;
    }

    /**
     * Printing the data to a printer.
     * Initialization done in this method.
     */
    public static void printToPrinter() {
        /**
         * Get a Printer Job
         */
        PrinterJob printerJob = PrinterJob.getPrinterJob();

        /**
         * <span class="IL_AD" id="IL_AD5">Create a book</span>. A book contains a pair of page painters
         * called <span class="IL_AD" id="IL_AD6">printables</span>. Also you have different pageformats.
         */
        Book book = new Book();
        /**
         * Append the Printable Object (this one itself, as it
         * implements a printable interface) and the page format.
         */
        book.append(new PrintFileToPrinter(), new PageFormat());
        /**
         * Set the object to be printed (the Book) into the PrinterJob. Doing this
         * before bringing up the print dialog allows the print dialog to correctly
         * display the page range to be printed and to dissallow any print settings not
         * appropriate for the pages to be printed.
         */
        printerJob.setPageable(book);

        /**
         * Calling the printDialog will pop up the Printing Dialog.
         * If you want to print without user <span class="IL_AD" id="IL_AD7">confirmation</span>, you can directly call printerJob.print()
         *
         * doPrint will be false, if the user cancels the print operation.
         */
        boolean doPrint = printerJob.printDialog();

        if (doPrint) {
            try {
                printerJob.print();
            } catch (PrinterException ex) {
                System.err.println("Error occurred while trying to Print: "
                        + ex);
            }
        }
    }

    /**
     * This method comes from the Printable interface.
     * The method implementation in this class
     * prints a page of text.
     */
    public int print(Graphics g, PageFormat format, int pageIndex) {

        Graphics2D graphics2d = (Graphics2D) g;
        /**
         * Move the origin from the corner of the Paper to the corner of the imageable
         * area.
         */
        graphics2d.translate(format.getImageableX(), format.getImageableY());

        /** Setting the text color**/
        graphics2d.setPaint(Color.black);
        /**
         * Use a LineBreakMeasurer instance to break our text into lines that fit the
         * imageable area of the page.
         */
        Point2D.Float pen = new Point2D.Float();
        AttributedCharacterIterator charIterator = myStyledText.getIterator();
        LineBreakMeasurer measurer = new LineBreakMeasurer(charIterator,
                graphics2d.getFontRenderContext());
        float wrappingWidth = (float) format.getImageableWidth();
        while (measurer.getPosition() < charIterator.getEndIndex()) {
            TextLayout layout = measurer.nextLayout(wrappingWidth);
            pen.y += layout.getAscent();
            float dx = layout.isLeftToRight() ? 0 : (wrappingWidth - layout
                    .getAdvance());
            layout.draw(graphics2d, pen.x + dx, pen.y);
            pen.y += layout.getDescent() + layout.getLeading();
        }
        return Printable.PAGE_EXISTS;
    }

}

Tuesday, January 31, 2012

JDBC example


private static Connection connectToDatabaseOrDie()
{
Connection conn = null;
try
{
Class.forName("org.postgresql.Driver");
String url = "jdbc:postgresql://localhost/abc";
conn = DriverManager.getConnection(url, "userName", "password");
}
catch (ClassNotFoundException e)
{
e.printStackTrace();
System.exit(1);
}
catch (SQLException e)
{
e.printStackTrace();
System.exit(2);
}
return conn;
}


Tuesday, January 10, 2012

SimpleDateFormat.......list

http://docs.oracle.com/javase/1.3/docs/api/java/text/SimpleDateFormat.html

Symbol Meaning Presentation Example
------ ------- ------------ -------

G era designator (Text) AD
y year (Number) 1996
M month in year (Text & Number) July & 07
d day in month (Number) 10
h hour in am/pm (1~12) (Number) 12
H hour in day (0~23) (Number) 0
m minute in hour (Number) 30
s second in minute (Number) 55
S millisecond (Number) 978
E day in week (Text) Tuesday
D day in year (Number) 189
F day of week in month (Number) 2 (2nd Wed in July)
w week in year (Number) 27
W week in month (Number) 2
a am/pm marker (Text) PM
k hour in day (1~24) (Number) 24
K hour in am/pm (0~11) (Number) 0
z time zone (Text) Pacific Standard Time
' escape for text (Delimiter)
'' single quote (Literal) '

Monday, January 9, 2012

Date Format example in JAVA


//Program to use date format …………………
package Time;

import java.text.SimpleDateFormat;
import java.util.Date;

public class DateTimeExample
{
public static void main(String[] args)
{
Date date = new Date();
System.out.println("Date is (with out using any date formate ==================> "+date);

SimpleDateFormat simpleDateFormate = new SimpleDateFormat("E dd.MM.yyyy 'at' hh:mm:ssa zzz");
System.out.println("SimpleDateFormat1 is (\"E dd.MM.yyyy 'at' hh:mm:ssa zzz\")===> "+simpleDateFormate.format(date));

simpleDateFormate = new SimpleDateFormat("E d.MM.y 'at' hh:mm:ssa zzz");
System.out.println("SimpleDateFormat2 is (\"E d.MM.y 'at' hh:mm:ssa zzz\") ======> "+simpleDateFormate.format(date));

simpleDateFormate = new SimpleDateFormat("EEEE dd.MMMM.yyyy 'at' hh:mm:ssa");
System.out.println("SimpleDateFormat3 is (\"EEEE dd.MMMM.yyyy 'at' hh:mm:ssa\") => "+simpleDateFormate.format(date));
}
}

OUTPUT =>
Date is (with out using any date formate ==================> Tue Jan 10 13:13:10 IST 2012
SimpleDateFormat1 is ("E dd.MM.yyyy 'at' hh:mm:ssa zzz")===> Tue 10.01.2012 at 01:13:10PM IST
SimpleDateFormat2 is ("E d.MM.y 'at' hh:mm:ssa zzz") ======> Tue 10.01.12 at 01:13:10PM IST
SimpleDateFormat3 is ("EEEE dd.MMMM.yyyy 'at' hh:mm:ssa") => Tuesday 10.January.2012 at 01:13:10PM

Wednesday, January 4, 2012