Wednesday, April 18, 2012

multiple upload files

    package com.mp.ws;

    /**
    *
    * @author nitinaggarwal
    *
    */
    public interface IFileUpload {

    public byte[] get1File(String name);

    public byte[][] getMulitpleFiles(String names[]);

    public String getXmlFile(String name);

    }

    package com.mp.ws;

    /**
    *
    * @author nitinaggarwal
    *
    */
    public class FileUpload implements IFileUpload {

    public byte[] get1File(String name) {
    byte data[] = null;

    FileReader fr = new FileReader();
    try {
    data = fr.readBinFilePath(name);
    } catch (Exception e) {
    e.printStackTrace();
    }

    return data;
    }

    public String getXmlFile(String name) {
    String data = null;
    FileReader fr = new FileReader();
    try {
    data = fr.readTextFile(name);
    } catch (Exception e) {
    e.printStackTrace();
    }
    return data;
    }

    public byte[][] getMulitpleFiles(String[] fnames) {

    byte[][] data = new byte[fnames.length][];
    for (int i = 0; i < fnames.length; i++) {
    FileReader fr = new FileReader();
    try {
    data[i] = fr.readBinFilePath(fnames[i]);

    System.out.println("abc" + data[i]);
    } catch (Exception e) {
    e.printStackTrace();
    }
    }
    return data;
    }

    }

    package com.mp.ws;

    import java.io.FileInputStream;
    import java.io.FileNotFoundException;
    import java.io.FileOutputStream;
    import java.io.IOException;
    import java.io.InputStream;
    import java.io.InputStreamReader;

    /**
    *
    * @author nitinaggarwal
    *
    */
    public class FileReader {

    public String readTextFile(final String name) throws Exception {
    StringBuffer xmlFromFile = new StringBuffer();
    InputStream instr = null;
    //instr = getFilePath2(name);

    instr = new FileInputStream(name);

    if (instr == null)
    throw new FileNotFoundException();
    InputStreamReader streamreader = null;

    try {

    streamreader = new InputStreamReader(instr);
    int x = 0;
    x = streamreader.read();

    while (x != -1) {
    xmlFromFile.append((char) x);
    x = streamreader.read();

    }

    } catch (Exception e) {

    System.out.println("Exception " + e.getMessage());
    throw e;

    } finally {
    streamreader.close();

    }

    return xmlFromFile.toString();

    }

    public byte[] readBinFileFromClassPath(final String name) throws Exception {

    byte bytearray[] = null;
    FileInputStream fileinputstream = null;
    try {

    fileinputstream = new FileInputStream(getFilePath(name));
    int numberBytes = fileinputstream.available();
    bytearray = new byte[numberBytes];
    fileinputstream.read(bytearray);

    } catch (Exception e) {
    System.out.println("Exception " + e.getMessage());
    throw e;

    } finally {
    if (fileinputstream != null)
    fileinputstream.close();
    }

    return bytearray;
    }

    public byte[] readBinFilePath(final String name) throws Exception {

    byte bytearray[] = null;
    FileInputStream fileinputstream = null;
    try {

    fileinputstream = new FileInputStream(name);
    int numberBytes = fileinputstream.available();
    bytearray = new byte[numberBytes];
    fileinputstream.read(bytearray);

    } catch (Exception e) {
    System.out.println("Exception " + e.getMessage());
    throw e;

    } finally {
    if (fileinputstream != null)
    fileinputstream.close();
    }

    return bytearray;
    }

    public void writeBinFileToPath(String name, byte data[]) throws IOException {

    FileOutputStream fileoutputstream = new FileOutputStream(name);

    try {
    fileoutputstream.write(data);

    } catch (IOException e) {
    System.out.println(e.getMessage());

    } finally {
    if (fileoutputstream != null)
    fileoutputstream.close();
    data = null;
    }

    }

    private InputStream getFilePath2(String filename) {
    return this.getClass().getClassLoader().getResourceAsStream(filename);

    }

    private String getFilePath(String filename) throws FileNotFoundException {
    String path = this.getClass().getClassLoader().getResource(filename)
    .getPath();
    if ("".equals(path))
    throw new FileNotFoundException();
    return path;

    }

    }

    package com.mp.ws;

    /**
    *
    * @author nitinaggarwal
    *
    */
    @javax.jws.WebService(targetNamespace = "http://ws.mp.com/", serviceName = "FileUploadService", portName = "FileUploadPort")
    public class FileUploadDelegate {

    com.mp.ws.FileUpload fileUpload = new com.mp.ws.FileUpload();

    public byte[] get1File(String name) {
    return fileUpload.get1File(name);
    }

    public byte[][] getMulitpleFiles(String[] fnames) {
    return fileUpload.getMulitpleFiles(fnames);
    }

    public String getXmlFile(String name) {
    return fileUpload.getXmlFile(name);
    }

    }

    package com.mp.ws;
    /**
    *
    * @author nitinaggarwal
    *
    */
    public class FileUploadTester {

    public static void main(String[] args) {
    FileUpload fu = new FileUpload();
    String fnames[]= {"c:/uploadme.doc","c:/uploadme.doc","c:/uploadme.doc"};

    byte[][] data = fu.getMulitpleFiles(fnames);

    }
    }