Java ObjectOutputStream Write load(File file, Class type)

Here you can find the source of load(File file, Class type)

Description

Loads a serialized object of the specifed type from the file.

License

Open Source License

Parameter

Parameter Description
file the file from which a mapping should be loaded
type the type of the object being deserialized

Return

the object that was serialized in the file

Declaration

public static <T> T load(File file, Class<T> type) 

Method Source Code


//package com.java2s;
/*//from  ww  w . j  a va2s.c  o m
 * Copyright 2009 Keith Stevens 
 *
 * This file is part of the S-Space package and is covered under the terms and
 * conditions therein.
 *
 * The S-Space package is free software: you can redistribute it and/or modify
 * it under the terms of the GNU General Public License version 2 as published
 * by the Free Software Foundation and distributed hereunder to you.
 *
 * THIS SOFTWARE IS PROVIDED "AS IS" AND NO REPRESENTATIONS OR WARRANTIES,
 * EXPRESS OR IMPLIED ARE MADE.  BY WAY OF EXAMPLE, BUT NOT LIMITATION, WE MAKE
 * NO REPRESENTATIONS OR WARRANTIES OF MERCHANT- ABILITY OR FITNESS FOR ANY
 * PARTICULAR PURPOSE OR THAT THE USE OF THE LICENSED SOFTWARE OR DOCUMENTATION
 * WILL NOT INFRINGE ANY THIRD PARTY PATENTS, COPYRIGHTS, TRADEMARKS OR OTHER
 * RIGHTS.
 *
 * You should have received a copy of the GNU General Public License
 * along with this program. If not, see <http://www.gnu.org/licenses/>.
 */

import java.io.BufferedInputStream;

import java.io.File;
import java.io.FileInputStream;

import java.io.InputStream;
import java.io.IOError;
import java.io.IOException;
import java.io.ObjectInputStream;

public class Main {
    /**
     * Loads a serialized object of the specifed type from the file.
     *
     * @param file the file from which a mapping should be loaded
     * @param type the type of the object being deserialized
     *
     * @return the object that was serialized in the file
     */
    public static <T> T load(File file, Class<T> type) {
        try {
            FileInputStream fis = new FileInputStream(file);
            ObjectInputStream inStream = new ObjectInputStream(new BufferedInputStream(fis));
            T object = type.cast(inStream.readObject());
            inStream.close();
            return object;
        } catch (IOException ioe) {
            throw new IOError(ioe);
        } catch (ClassNotFoundException cnfe) {
            throw new IOError(cnfe);
        }
    }

    /**
     * Loads a serialized object of the specifed type from the file.
     *
     * @param fileName the file name from which an object should be loaded
     *
     * @return the object that was serialized in the file
     */
    @SuppressWarnings("unchecked")
    public static <T> T load(String fileName) {
        return (T) load(new File(fileName));
    }

    /**
     * Loads a serialized object of the specifed type from the file.
     *
     * @param file the file from which a mapping should be loaded
     *
     * @return the object that was serialized in the file
     */
    @SuppressWarnings("unchecked")
    public static <T> T load(File file) {
        try {
            FileInputStream fis = new FileInputStream(file);
            ObjectInputStream inStream = new ObjectInputStream(new BufferedInputStream(fis));
            T object = (T) inStream.readObject();
            inStream.close();
            return object;
        } catch (IOException ioe) {
            throw new IOError(ioe);
        } catch (ClassNotFoundException cnfe) {
            throw new IOError(cnfe);
        }
    }

    /**
     * Loads a serialized object of the specifed type from the stream.  This
     * method does not close the stream after reading
     *
     * @param file the file from which a mapping should be loaded
     * @param type the type of the object being deserialized
     *
     * @return the object that was serialized in the file
     */
    @SuppressWarnings("unchecked")
    public static <T> T load(InputStream stream) {
        try {
            ObjectInputStream inStream = (stream instanceof ObjectInputStream) ? (ObjectInputStream) stream
                    : new ObjectInputStream(stream);
            T object = (T) inStream.readObject();
            return object;
        } catch (IOException ioe) {
            throw new IOError(ioe);
        } catch (ClassNotFoundException cnfe) {
            throw new IOError(cnfe);
        }
    }
}

Related

  1. load(File f)
  2. load(File file)
  3. load(File file)
  4. load(File file, final ClassLoader... loaders)
  5. load(String fileName)
  6. load(String filename)
  7. load(String name, Class resultClass)