2

我有一种方法可以从原始文件中读取一个随机笑话,然后显示它,但我不知道如何设置新行。该行中的所有笑话都是 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));

我已经使用相同的代码来读取没有转义字符的文件,并且它运行良好...... PS 不仅\n行不通,而且\"可能还有其他任何问题。

4

2 回答 2

1

这是因为你有

\n 

in the file, and that are 2 normal characters, not a newline.

You can use Apache Commons library to unescape these sequences:

StringEscapeUtils.unescapeJava in Apache Commons.

于 2012-05-28T15:13:58.147 回答
1

try this:

String source = "<br>"+String.valueOf(theLine);  
textGenerateNumber.append(Html.fromHtml(source));
于 2012-05-28T15:20:48.220 回答