get Asset String Data via path - Android App

Android examples for App:Assets String

Description

get Asset String Data via path

Demo Code


//package com.java2s;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import android.content.Context;

public class Main {
    public static String getAssetData(Context context, String path) {
        InputStream is = null;/*  w w  w.jav a 2 s  .c om*/
        String ret = null;

        try {
            is = context.getAssets().open(path);
        } catch (IOException e) {
            e.printStackTrace();
            return null;
        }

        try {
            ret = read(is);
        } catch (IOException e) {
            e.printStackTrace();
        } finally {
            closeQuietly(is);
        }
        return ret;
    }

    public static String getAssetData(Context context, String path,
            String charset) {
        InputStream is = null;
        String ret = null;

        try {
            is = context.getAssets().open(path);
        } catch (IOException e) {
            e.printStackTrace();
            return null;
        }

        try {
            ret = read(is, charset);
        } catch (IOException e) {
            e.printStackTrace();
        } finally {
            closeQuietly(is);
        }
        return ret;
    }

    /**
     * input stream to String
     *  
     * @param in
     * @return
     * @throws IOException
     */
    public static String read(InputStream in) throws IOException {
        StringBuilder sb = new StringBuilder();
        BufferedReader r = new BufferedReader(new InputStreamReader(in),
                1000);
        for (String line = r.readLine(); line != null; line = r.readLine()) {
            sb.append(line);
        }
        return sb.toString();
    }

    public static String read(InputStream in, String charset)
            throws IOException {
        StringBuilder sb = new StringBuilder();
        BufferedReader r = new BufferedReader(new InputStreamReader(in,
                charset), 1000);
        for (String line = r.readLine(); line != null; line = r.readLine()) {
            sb.append(line);
        }
        return sb.toString();
    }

    public static java.io.IOException closeQuietly(java.io.Closeable stream) {
        if (stream == null) {
            return null;
        }

        try {
            stream.close();
        } catch (java.io.IOException e) {
            return e;
        }

        return null;
    }
}

Related Tutorials