Mega Code Archive

 
Categories / Android / File
 

Get Resource As Stream, Loads the resource from classpath

import java.io.BufferedReader; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; import java.io.Reader; import java.io.StringWriter; import java.io.Writer; class Main {   public static InputStream getResourceAsStream(String resource)       throws IOException {     ClassLoader cl = Main.class.getClassLoader();     InputStream in = cl.getResourceAsStream(resource);     if (in == null) {       throw new IOException("resource \"" + resource + "\" not found");     }     return in;   }   /**    * Loads the resource from classpath    */   public static String getResourceAsString(String resource)       throws IOException {     InputStream in = getResourceAsStream(resource);     return convertStreamToString(in);   }   private static String convertStreamToString(InputStream is)       throws IOException {     if (is != null) {       Writer writer = new StringWriter();       char[] buffer = new char[1024];       try {         Reader reader = new BufferedReader(new InputStreamReader(is,             "UTF8"));         int n;         while ((n = reader.read(buffer)) != -1) {           writer.write(buffer, 0, n);         }       } finally {         is.close();       }       return writer.toString();     } else {       return "";     }   } }