Las cosas son simples pero no funcionan como se supone.
Tengo un archivo de texto agregado como recurso sin procesar. El archivo de texto contiene texto como:
b) SI LA LEY APLICABLE REQUIERE CUALQUIER GARANTÍA CON RESPECTO AL SOFTWARE, TODAS LAS GARANTÍAS ESTÁN LIMITADAS EN DURACIÓN A NOVENTA (90) DÍAS DESDE LA FECHA DE ENTREGA.
(c) NINGUNA INFORMACIÓN ORAL O ESCRITA O CONSEJO DADO POR ORIENTACIÓN VIRTUAL, SUS DISTRIBUIDORES, DISTRIBUIDORES, AGENTES O EMPLEADOS CREARÁN UNA GARANTÍA O DE ALGUNA MANERA AUMENTARÁ EL ALCANCE DE CUALQUIER GARANTÍA PROPORCIONADA AQUÍ.
(d) (solo EE. UU.) ALGUNOS ESTADOS NO PERMITEN LA EXCLUSIÓN DE GARANTÍAS IMPLÍCITAS, POR LO QUE LA EXCLUSIÓN ANTERIOR PUEDE NO APLICARSE EN SU CASO. ESTA GARANTÍA LE OTORGA DERECHOS LEGALES ESPECÍFICOS Y TAMBIÉN PUEDE TENER OTROS DERECHOS LEGALES QUE VARÍAN DE ESTADO A ESTADO.
En mi pantalla tengo un diseño como este:
<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>
El código para leer el recurso en bruto es:
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();
}
Se muestra el texto, pero después de cada línea me sale un carácter extraño [] ¿Cómo puedo eliminar ese carácter? Creo que es New Line.
SOLUCIÓN DE TRABAJO
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();
}