Все просто, но не работает должным образом.
У меня есть текстовый файл, добавленный как необработанный ресурс. Текстовый файл содержит текст вроде:
b) ЕСЛИ ПРИМЕНИМЫМ ЗАКОНОДАТЕЛЬСТВОМ ТРЕБУЮТСЯ КАКИЕ-ЛИБО ГАРАНТИИ В ОТНОШЕНИИ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ, ВСЕ ТАКИЕ ГАРАНТИИ ОГРАНИЧИВАЮТСЯ ДЕЙСТВИЕМ ДЕВЯТЬ (90) ДНЕЙ С ДАТЫ ПОСТАВКИ.
(c) НИКАКАЯ УСТНАЯ ИЛИ ПИСЬМЕННАЯ ИНФОРМАЦИЯ ИЛИ СОВЕТЫ, ДАННЫЕ VIRTUAL ORIENTEERING, ЕГО ДИЛЕРЫ, ДИСТРИБЬЮТОРЫ, АГЕНТЫ ИЛИ СОТРУДНИКИ, НЕ СОЗДАЮТ ГАРАНТИИ ИЛИ ЛЮБЫМ СПОСОБОМ РАСШИРЯЮТ ОБЪЕМ ЛЮБОЙ ГАРАНТИИ, ПРЕДОСТАВЛЕННОЙ ЗДЕСЬ.
(d) (только для США) В НЕКОТОРЫХ ШТАТАХ НЕ ДОПУСКАЕТСЯ ИСКЛЮЧЕНИЕ ПОДРАЗУМЕВАЕМЫХ ГАРАНТИЙ, ПОЭТОМУ ВЫШЕУКАЗАННОЕ ИСКЛЮЧЕНИЕ МОЖЕТ К ВАМ НЕ ОТНОСИТЬСЯ. НАСТОЯЩАЯ ГАРАНТИЯ ПРЕДОСТАВЛЯЕТ ВАМ КОНКРЕТНЫЕ ЮРИДИЧЕСКИЕ ПРАВА, И ВЫ ТАКЖЕ МОЖЕТЕ ИМЕТЬ ДРУГИЕ ЮРИДИЧЕСКИЕ ПРАВА, КОТОРЫЕ РАЗЛИЧАЮТСЯ В РАЗНЫХ ШТАТАХ.
На моем экране такой макет:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:gravity="center"
android:layout_weight="1.0"
android:layout_below="@+id/logoLayout"
android:background="@drawable/list_background">
<ScrollView android:layout_width="fill_parent"
android:layout_height="fill_parent">
<TextView android:id="@+id/txtRawResource"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:padding="3dip"/>
</ScrollView>
</LinearLayout>
Код для чтения необработанного ресурса:
TextView txtRawResource= (TextView)findViewById(R.id.txtRawResource);
txtDisclaimer.setText(Utils.readRawTextFile(ctx, R.raw.rawtextsample);
public static String readRawTextFile(Context ctx, int resId)
{
InputStream inputStream = ctx.getResources().openRawResource(resId);
ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();
int i;
try {
i = inputStream.read();
while (i != -1)
{
byteArrayOutputStream.write(i);
i = inputStream.read();
}
inputStream.close();
} catch (IOException e) {
return null;
}
return byteArrayOutputStream.toString();
}
Текст отображается, но после каждой строки появляется странный символ [] Как я могу удалить этот символ? Думаю, это New Line.
РАБОЧЕЕ РЕШЕНИЕ
public static String readRawTextFile(Context ctx, int resId)
{
InputStream inputStream = ctx.getResources().openRawResource(resId);
InputStreamReader inputreader = new InputStreamReader(inputStream);
BufferedReader buffreader = new BufferedReader(inputreader);
String line;
StringBuilder text = new StringBuilder();
try {
while (( line = buffreader.readLine()) != null) {
text.append(line);
text.append('\n');
}
} catch (IOException e) {
return null;
}
return text.toString();
}