2012-05-28 75 views
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)); 

我使用相同的代碼無法逃脫讀取文件燒焦acters和它完美的作品... P.S.不僅\n不會工作,但也\"和其他可能。

+1

你有嘗試的HTML
標籤,而不是\ n嗎? –

+0

你可以改變輸入文件的格式嗎? – krtek

回答

1

試試這個:

String source = "<br>"+String.valueOf(theLine); 
textGenerateNumber.append(Html.fromHtml(source)); 
+0

得到解決嗎? –

+0

我會在一個小時左右嘗試,延遲 –

+0

我應該改變文件中的所有\ n到
's因爲只有這兩條線,它不會工作。 :( –

1

這是因爲你在文件中有

\n 

,而且是2個正常的字符,而不是一個換行符。

您可以使用Apache共享庫未逸出這些序列:在Apache的百科全書

StringEscapeUtils.unescapeJava

+0

前幾天我遇到了這個鏈接,但不知道如何讓它爲我工作。 Thx爲答案。 –

相關問題