Hi,
I have done this code. Can u pls tell me how to create a jar for this in eclipse, this is only a single java file?
package com.dcp.ui;
import java.awt.BorderLayout; import java.awt.Color; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.event.AdjustmentEvent; import java.awt.event.AdjustmentListener; import java.io.File; import java.io.FilePermission; import java.io.FilenameFilter; import java.io.IOException; import java.sql.Array; //import java.nio.file.Files; import javax.swing.JButton; import javax.swing.JDialog; import javax.swing.JFileChooser; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JPanel; import javax.swing.JScrollBar; import javax.swing.SwingUtilities; import javax.swing.filechooser.FileFilter;
import jxl.Cell; import jxl.Sheet; import jxl.Workbook; import jxl.biff.WorkspaceInformationRecord; import jxl.read.biff.BiffException; import jxl.write.Label; import jxl.write.WritableSheet; import jxl.write.WritableWorkbook; import jxl.write.WriteException;
public class DcpRep //implements ActionListener { JLabel label = new JLabel(); private static void createAndShowGUI() { // make frame.. frame = new JFrame("Select"); frame.setDefaultCloseOperation(JFrame.EXITONCLOSE); frame.setBounds(20,30,700,700); frame.getContentPane().setLayout(null); jb = new JButton("Browse"); jb.setBounds(200, 250, 100, 50); frame.getContentPane().add(jb); jb2=new JButton("Generate"); jb2.setBounds(20, 20, 100, 50); frame.getContentPane().add(jb2); frame.setVisible(true); jb.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) {
JFileChooser jf = new JFileChooser();
/*FileFilter filt = new FileFilter() {
@Override
public String getDescription() {
// TODO Auto-generated method stub
return null;
}
@Override
public boolean accept(File arg0) {
// TODO Auto-generated method stub
return false;
}
};*/
/*FilenameFilter filter = new FilenameFilter() {
@Override
public boolean accept(File arg0, String arg1) {
// TODO Auto-generated method stub
return false;
}
};
filter.accept(file, "xls");*/
//filter.addExtension("xlsx");
//filter.setDescription("xls & xlsx sheets");
//jf.setFileFilter(filt);
//jf.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY);
jf.setMultiSelectionEnabled(true);
returnVal = jf.showOpenDialog(frame);
File[] file = jf.getSelectedFiles();
// int returnVal2 = jf.showSaveDialog(frame);
// System.out.println(returnVal2);
flength=file.length;
System.out.println(file.length);
for(int f=0;f<file.length;f++)
{
Workbook workbook;
try {
workbook=Workbook.getWorkbook(file[f]);
Sheet sheet=workbook.getSheet(0);
r[f]=sheet.getRows();
c=sheet.getColumns();
//arr = new String[20][c][r[f]];
for(int i=0;i<c;i++)
{
for(int j=0;j<r[f];j++)
{
if(j<500)
{
Cell a=sheet.getCell(i,j);
arr[f][i][j]=a.getContents();
//System.out.println(arr[f][i][j]);
}
else if((j>500)&&(j<1000))
{
Cell b=sheet.getCell(i,j);
brr[f][i][j-500]=b.getContents();
//System.out.println(brr[f][i][j-500]);
}
else if((j>1000)&&(j<1500))
{
Cell c=sheet.getCell(i,j);
crr[f][i][j-1000]=c.getContents();
//System.out.println(brr[f][i][j-500]);
}
}
}
}catch (BiffException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
} catch (IOException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
}
} });
jb2.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e)
{if(returnVal == JFileChooser.APPROVE_OPTION)
{
WritableWorkbook generate;
try {
generate=Workbook.createWorkbook(new File("C:/Users/Jai Badri Vishal/Desktop/opt.xls"));
WritableSheet st=generate.createSheet("First Sheet",0);
for(int f=0;f<flength;f++)
{
System.out.println("r is "+r[f]);
//System.out.println("Iteration no "+f);
for(int k=0;k<c;k++)
{
for(int j=y, x=0;j<y+r[f];x++,j++)
{
if(x<500)
{
Label label=new Label(k,j,arr[f][k][x]);
st.addCell(label);
//System.out.println(arr[f][k][j]);
}
else if((x>500)&&(x<1000))
{
Label label=new Label(k,j,brr[f][k][x-500]);
st.addCell(label);
//System.out.println(brr[f][k][j-500]);
}
else if((x>1000)&&(x<1500))
{
Label label=new Label(k,j,crr[f][k][x-1000]);
st.addCell(label);
//System.out.println(brr[f][k][j-500]);
}
}
}y=y+r[f];
}
generate.write();
generate.close();
} catch (WriteException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
} catch (IOException e2) {
// TODO Auto-generated catch block
e2.printStackTrace();
}
} }
});
}
public static void main(String[] args) {
// start off..
SwingUtilities.invokeLater(new Runnable() {
public void run() {
createAndShowGUI();
}
});
}
static JButton jb,jb2;
static JFrame frame;
static int c,y,flength;
static int r[]=new int[20];
static String arr[][][]=new String[100][500][500];
static String brr[][][]=new String[100][500][500];
static String crr[][][]=new String[100][500][500];
static File file,p;
static int returnVal;
}
A Jar file combines several classes into a single archive file. Basically,library classes are stored in the jar file. Through the given code you can create your own jar file.
import java.io.*;
import java.util.jar.*;
public class CreateJar {
public static int buffer = 10240;
protected void createJarArchive(File jarFile, File f) {
try {
byte b[] = new byte[buffer];
FileOutputStream fout = new FileOutputStream(jarFile);
JarOutputStream out = new JarOutputStream(fout, new Manifest());
JarEntry addFiles = new JarEntry(f.getName());
addFiles.setTime(f.lastModified());
out.putNextEntry(addFiles);
FileInputStream fin = new FileInputStream(f);
while (true) {
int len = fin.read(b, 0, b.length);
if (len <= 0)
break;
out.write(b, 0, len);
}
fin.close();
out.close();
fout.close();
System.out.println("Jar File is created successfully.");
} catch (Exception ex) {}
}
public static void main(String[]args){
CreateJar jar=new CreateJar();
File folder = new File("c:/");
File files = new File("c:/DcpRep.java");
File file=new File("c:/Example.jar");
jar.createJarArchive(file, files);
}
}