상황은 간단하지만 예상대로 작동하지 않습니다.
원시 리소스로 추가 된 텍스트 파일이 있습니다. 텍스트 파일에는 다음과 같은 텍스트가 포함됩니다.
b) 관련 법률에서 소프트웨어와 관련하여 보증을 요구하는 경우 이러한 모든 보증은 배송일로부터 90 일로 제한됩니다.
(c) 가상 오리엔 티어, 그 딜러, 유통 업체, 대리인 또는 직원이 제공 한 구두 또는 서면 정보 나 조언은 보증을 생성하거나 어떠한 방식 으로든 여기에 제공된 보증 범위를 증가시키지 않습니다.
(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();
}
텍스트가 표시되지만 각 줄마다 이상한 문자가 나타납니다. [] 어떻게 해당 문자를 제거 할 수 있습니까? 뉴 라인이라고 생각합니다.
작업 솔루션
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();
}