As coisas são simples, mas não funcionam como deveriam.
Eu tenho um arquivo de texto adicionado como um recurso bruto. O arquivo de texto contém texto como:
b) SE A LEI APLICÁVEL EXIGIR QUALQUER GARANTIA RELATIVA AO SOFTWARE, TODAS ESSAS GARANTIAS SÃO LIMITADAS EM DURAÇÃO A noventa (90) dias a contar da data de entrega.
(c) NENHUMA INFORMAÇÃO OU CONSELHO ORAL OU ESCRITA FORNECIDA POR ORIENTADORES VIRTUAIS, SEUS REVENDEDORES, DISTRIBUIDORES, AGENTES OU FUNCIONÁRIOS CRIARÃO UMA GARANTIA OU DE QUALQUER FORMA AUMENTARÁ O ÂMBITO DE QUALQUER GARANTIA AQUI FORNECIDA.
(d) (somente EUA) ALGUNS ESTADOS NÃO PERMITEM A EXCLUSÃO DE GARANTIAS IMPLÍCITAS, POR ISSO A EXCLUSÃO ACIMA PODE NÃO SE APLICAR A VOCÊ. ESTA GARANTIA CONCEDE DIREITOS LEGAIS ESPECÍFICOS E PODE TAMBÉM TER OUTROS DIREITOS LEGAIS QUE VARIAM DE ESTADO PARA ESTADO.
Na minha tela, tenho um layout 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>
O código para ler o recurso bruto é:
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();
}
O texto é exibido, mas após cada linha eu recebo um caractere estranho [] Como posso remover esse caractere? Eu acho que é New Line.
SOLUÇÃO DE TRABALHO
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();
}