Example usage for java.io InputStream available

List of usage examples for java.io InputStream available

Introduction

In this page you can find the example usage for java.io InputStream available.

Prototype

public int available() throws IOException 

Source Link

Document

Returns an estimate of the number of bytes that can be read (or skipped over) from this input stream without blocking, which may be 0, or 0 when end of stream is detected.

Usage

From source file:StreamUtils.java

public static byte[] readInByteArray(InputStream in) throws IOException {
    byte[] result = new byte[in.available()];

    in.read(result);/*from ww w  .j a  v  a 2s . c  o m*/

    in.close();

    return result;
}

From source file:Main.java

public static byte[] readInputStream(InputStream in) {
    try {// w ww. ja  v  a  2  s.com
        ByteArrayOutputStream os = new ByteArrayOutputStream();

        byte[] b = new byte[in.available()];
        int length = 0;
        while ((length = in.read(b)) != -1) {
            os.write(b, 0, length);
        }

        b = os.toByteArray();

        in.close();
        in = null;

        os.close();
        os = null;

        return b;

    } catch (IOException e) {
        e.printStackTrace();
    }
    return null;
}

From source file:Main.java

private static String getStringFromResource(Context context, String dbname) {
    InputStream inputStream;
    byte[] buffer;
    try {/*ww  w.ja va 2s  . co m*/
        inputStream = context.getResources().getAssets().open("database/" + dbname);
        int size = inputStream.available();
        buffer = new byte[size];
        inputStream.read(buffer);
        inputStream.close();

        String text = new String(buffer);

        return text;
    } catch (IOException e) {

    }

    return null;
}

From source file:Main.java

public static String readFile(String path) throws IOException {
    InputStream is = new FileInputStream(new File(path));
    DataInputStream ds = new DataInputStream(is);
    // Estimated capacity, potential risk ???
    byte[] bytes = new byte[is.available()];
    ds.readFully(bytes);/* www  .ja v  a 2s.c om*/
    String text = new String(bytes);
    is.close();
    ds.close();
    return text;
}

From source file:it.swim.util.ConvertitoreFotoInBlob.java

/**
 * Metodo per convertire un fileItem in blob, per poterlo salvare sul database
 * @param item : FileItem ottenuta nella servlet
 * @param lunghezza : int che rappresenta la lunghezza che dovra' avere l'immagine sul database
 * @param altezza : int che rappresenta l'altezza che dovra' avere l'immagine sul database
 * @param dimensioneMaxInMB : int che rappresenta la dimensione massima del file caricato
 * @return <b>blob</b> che rappresenta l'oggetto gia' ridimensionato, pronto per essere salvato sul database
 * @throws IOException errore durante il ridimensionamento oppure nella conversione in Blob
 * @throws SerialException errore nella conversione in Blob
 * @throws SQLException errore nella conversione in Blob
 * @throws FotoException errore con cause:
 *    FILETROPPOGRANDE: se la dimensione del file supera quella prevista
 *    NONRICONOSCIUTACOMEFOTO: dovuto all'upload di un file che non e' una foto, oppure lo e' ma il sistema non la riconosce come tale
 *///from  www .  j a v  a  2s.c  o m
public static Blob getBlobFromFileItem(FileItem item, int lunghezza, int altezza, int dimensioneMaxInMB)
        throws IOException, SerialException, SQLException, FotoException {
    Blob blob = null;
    InputStream filecontent = item.getInputStream();
    byte[] b = new byte[filecontent.available()];
    log.debug("inputstream blob: " + filecontent.available());
    if (filecontent.available() > 0) {
        filecontent.read(b); //metto i dati nell'array b che uso nei metodi successivi

        log.debug("       ------------            " + b.length);

        if (b.length > dimensioneMaxInMB * 1024 * 1024) { //se file piu' grande di dimensioneMaxInMB lancia eccezione
            throw new FotoException(FotoException.Causa.FILETROPPOGRANDE);
        }

        //per poter ridimensionare l'immagine ho bisogno dia vere un BufferedImage, allora converto il byte[] in BufferedImage
        BufferedImage bufferedImage = ImageResizer.convertiByteArrayInBufferedImage(b);

        //attenzione se non e' una immagine o ci sono altri problemi nel capire che il file e' una immagine, la variabile bufferedImage==null
        if (bufferedImage == null) {
            throw new FotoException(FotoException.Causa.NONRICONOSCIUTACOMEFOTO);
        } else {
            //ridimensiono l'immagine e riottengo un riferimento BufferedImage
            BufferedImage ridimensionata = ImageResizer.ridimensionaImmagine(bufferedImage, lunghezza, altezza);

            //ora riconverto la bufferedImage in byte[]
            byte[] ridottaConvertita = ImageResizer.convertiBufferedImageInByteArray(ridimensionata);

            //infine converto l'immagine in byte[] in un Blob per salvarlo sul database, non in questo metodo pero'
            blob = new SerialBlob(ridottaConvertita);
        }
    }
    filecontent.close();
    return blob;
}

From source file:Main.java

public static void pushFileFromRAW(Context mContext, File outputFile, int RAW, boolean Override)
        throws IOException {
    if (!outputFile.exists() || Override) {
        if (Override && outputFile.exists())
            if (!outputFile.delete()) {
                throw new IOException(outputFile.getName() + " can't be deleted!");
            }/*w w w .j  av  a 2s.co m*/
        InputStream is = mContext.getResources().openRawResource(RAW);
        OutputStream os = new FileOutputStream(outputFile);
        byte[] data = new byte[is.available()];
        is.read(data);
        os.write(data);
        is.close();
        os.close();
    }
}

From source file:ca.uqac.florentinth.speakerauthentication.Utils.JSONUtils.java

public static String parseJSONFile(Context ctx, String file) {
    String json = null;/*from  w w w  .jav  a 2s . com*/

    try {
        InputStream inputStream = ctx.getAssets().open(file, AssetManager.ACCESS_STREAMING);
        int size = inputStream.available();
        byte[] buffer = new byte[size];
        inputStream.read(buffer);
        inputStream.close();
        json = new String(buffer, "UTF-8");
    } catch (IOException e) {
        e.printStackTrace();
    }

    return json;
}

From source file:StreamUtils.java

/**
 * Reads a InputStream of chars into a StringBuffer.
 * //from  www  .ja  va2 s. c o  m
 * @param in
 *            the InputStream to read from
 * @return the interpreted InputStream
 * @throws IOException
 */
public static StringBuffer readCharacterStream(InputStream in) throws IOException {
    StringBuffer result = new StringBuffer(in.available());
    int read = in.read();

    while (read > 0) {
        result.append((char) read);
        read = in.read();
    }

    in.close();

    return result;
}

From source file:com.hangum.tadpole.commons.sql.map.SQLMap.java

private static String getFileToString(String url) throws Exception {
    ClassLoader loader = SQLMap.class.getClassLoader();
    InputStream is = loader == null ? ClassLoader.getSystemResourceAsStream(url)
            : loader.getResourceAsStream(url);

    int size = is.available();
    byte[] dataByte = new byte[size];
    is.read(dataByte, 0, size);// w  w  w. ja va  2s.c  o  m
    is.close();

    return new String(dataByte);
}

From source file:net.redstonelamp.gui.RedstoneLampGUI.java

private static void installCallback(JFrame frame, File selected) {
    JDialog dialog = new JDialog(frame);
    JLabel status = new JLabel("Downloading build...");
    JProgressBar progress = new JProgressBar();
    dialog.pack();/* w w w  . j  a  va  2 s .  co  m*/
    dialog.setVisible(true);
    try {
        URL url = new URL("http://download.redstonelamp.net/?file=LatestBuild");
        InputStream is = url.openStream();
        int size = is.available();
        progress.setMinimum(0);
        progress.setMaximum(size);
        int size2 = size;
        OutputStream os = new FileOutputStream(new File(selected, "RedstoneLamp.jar"));
        while (size2 > 0) {
            int length = Math.min(4096, size2);
            byte[] buffer = new byte[length];
            size2 -= length;
            is.read(buffer);
            progress.setValue(size2);
            os.write(buffer);
        }
        is.close();
        os.close();
    } catch (IOException e) {
        e.printStackTrace();
    }
}