我在textview中遇到换行问题(我从资产txt文件中读取文本)。见截图:
我的代码:
TextView txt = (TextView) findViewById(R.id.txt);
AssetManager assetManager = getAssets();
InputStream input;
try {
input = assetManager.open("book.txt");
int size = input.available();
byte[] buffer = new byte[size];
input.read(buffer);
input.close();
String text = new String(buffer);
txt.setText(text);
} catch (IOException e) {
}
book.txt的一些行:
Мимдолженмолчать Авторpushkiy
- Мама-мама! Смотри! Грустныйклоун! - бесцеремоннопоказывалананегопальцемдевочкалетвосьми。
- Маш,этонеклоун - этомим, - несбавляласкоростимама,пытаясьуспетьнатрамвай。 Девочка,неуспеваязамамой,болталасьунеенаруке,нопродолжалагнутьсвоюлинию:«Апочемуклоунгрустный,мама?» - «Спросиунегосама»。
答案 0 :(得分:0)
你可以试试这个:
try {
BufferedReader reader = new BufferedReader(
new InputStreamReader(getAssets().open("book.txt"),"UTF-8"));
// do reading, usually loop until end of file reading
String mLine = reader.readLine();
while (mLine != null) {
txt.append(mline);
mLine = reader.readLine();
}
reader.close();
} catch (IOException e) {
//log the exception
}
答案 1 :(得分:0)
尝试一次。可能对你有所帮助。
txt.setText(Html.fromHtml(text));
或者您可以用“\ n”替换该字符,如果不起作用,现在可以再次使用它。
答案 2 :(得分:0)
谢谢大家!我已将文件从txt转换为html,现在我的代码如下:
AssetManager assetManager = getAssets();
InputStream inputStream = assetManager.open("book.html");
ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();
int i;
try {
i = inputStream.read();
while (i != -1)
{
byteArrayOutputStream.write(i);
i = inputStream.read();
}
inputStream.close();
} catch (IOException e) {
}
TextView txt = (TextView) findViewById(R.id.txt);
txt.setText(Html.fromHtml(byteArrayOutputStream.toString()));