我有一个方法,从raw中的文件中读取一个随机笑话,然后显示它,但我无法弄清楚,如何设置一个新行。
该行中的所有笑话都是1行,但显然它们不止一个,所以我使用\n
。例如,该行说"Hi! \n Hi to you too"
当我使用我的代码而不是:
Hi!
Hi to you too
它给了我
Hi! \n Hi to you too
我试图追加它,并且这不起作用代码下面也试图在数组中输入笑话,然后从该数组显示它,也没有工作...任何想法将非常感激。 ..
InputStreamReader inputStream = new InputStreamReader
(getResources().openRawResource(R.raw.vicove));
BufferedReader br = new BufferedReader(inputStream);
int numLines = 1;
Random r = new Random();
int desiredLine = r.nextInt(numLines);
String theLine="";
int lineCtr = 0;
try {
while ((theLine = br.readLine()) != null) {
if (lineCtr == desiredLine) {
break;
}
lineCtr++;
}
} catch (IOException e) {
e.printStackTrace();
}
textGenerateNumber.setText(String.valueOf(theLine));
我使用相同的代码来读取没有转义字符的文件,它完美地运行...
附:不仅\n
不起作用,而且\"
也可能不起作用。
答案 0 :(得分:1)
这是因为你有
\n
在文件中,这是2个普通字符,而不是换行符。
您可以使用Apache Commons库来浏览这些序列:
Apache Commons中的答案 1 :(得分:1)
试试这个:
String source = "<br>"+String.valueOf(theLine);
textGenerateNumber.append(Html.fromHtml(source));