Sprawy są proste, ale nie działają tak, jak powinny.
Mam plik tekstowy dodany jako surowiec. Plik tekstowy zawiera tekst taki jak:
b) JEŚLI OBOWIĄZUJĄCE PRAWO WYMAGA JAKICHKOLWIEK GWARANCJI W ODNIESIENIU DO OPROGRAMOWANIA, WSZYSTKIE TAKIE GWARANCJE SĄ OGRANICZONE DO DZIEWIĘCIĘCIU (90) DNI OD DATY DOSTAWY.
(c) ŻADNE USTNE ANI PISEMNE INFORMACJE ANI PORADY UDZIELANE PRZEZ WIRTUALNĄ ORIENTACJĘ, JEJ DEALERÓW, DYSTRYBUTORÓW, AGENTÓW ANI PRACOWNIKÓW NIE STANOWIĄ GWARANCJI ANI W ŻADNYM SPOSÓB ZWIĘKSZA ZAKRESU JAKIEJKOLWIEK GWARANCJI PRZEDSTAWIONEJ TUTAJ.
(d) (tylko USA) NIEKTÓRE STANY NIE ZEZWALAJĄ NA WYŁĄCZENIE GWARANCJI DOMNIEMANYCH, WIĘC POWYŻSZE WYŁĄCZENIE MOŻE NIE DOTYCZYĆ CIEBIE. NINIEJSZA GWARANCJA DAJE UŻYTKOWNIKOWI OKREŚLONE PRAWA, A UŻYTKOWNIK MOŻE MIEĆ RÓWNIEŻ INNE PRAWA, KTÓRE RÓŻNIĄ SIĘ W ZALEŻNOŚCI OD KRAJU.
Na moim ekranie mam taki układ:
<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>
Kod do odczytu surowego zasobu to:
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();
}
Pojawia się tekst, ale po każdej linii pojawia się dziwny znak [] Jak mogę usunąć ten znak? Myślę, że to New Line.
ROZWIĄZANIE PRACY
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();
}