สิ่งต่างๆเรียบง่าย แต่ไม่ได้ผลอย่างที่ควรจะเป็น
ฉันมีไฟล์ข้อความที่เพิ่มเป็นทรัพยากรดิบ ไฟล์ข้อความประกอบด้วยข้อความเช่น:
b) หากกฎหมายที่บังคับใช้ต้องการการรับประกันใด ๆ ด้วยความเคารพต่อซอฟต์แวร์การรับประกันดังกล่าวทั้งหมดจะ จำกัด อยู่ในระยะเวลาเก้าวัน (90) วันนับจากวันที่จัดส่ง
(c) ไม่มีข้อมูลหรือคำแนะนำที่เป็นลายลักษณ์อักษรหรือคำแนะนำที่ได้รับจากองค์กรเสมือนตัวแทนตัวแทนจำหน่ายตัวแทนหรือพนักงานจะสร้างการรับประกันหรือในทางใด ๆ ที่จะเพิ่มขอบเขตของการรับประกันใด ๆ ที่ให้ไว้ที่นี่
(ง) (สหรัฐอเมริกาเท่านั้น) บางรัฐไม่อนุญาตให้มีการยกเว้นการรับประกันโดยนัยดังนั้นข้อยกเว้นข้างต้นอาจไม่มีผลกับคุณ การรับประกันนี้ให้สิทธิ์ทางกฎหมายโดยเฉพาะแก่คุณและคุณอาจมีสิทธิ์ทางกฎหมายอื่น ๆ ที่แตกต่างกันไปในแต่ละรัฐ
บนหน้าจอของฉันฉันมีเค้าโครงดังนี้:
<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();
}