Read Assets file as string

getAssets().open() will return an InputStream. Read from that using standard Java I/O:

Java:

StringBuilder sb = new StringBuilder();
InputStream is = getAssets().open("book/contents.json");
BufferedReader br = new BufferedReader(new InputStreamReader(is, StandardCharsets.UTF_8 ));
String str;
while ((str = br.readLine()) != null) {
    sb.append(str);
}
br.close();

Kotlin:

val str = assets.open("book/contents.json").bufferedReader().use { it.readText() }

Leave a Comment