2013-01-09 53 views
0

有一些生成的代碼可以生成地圖。放置在地圖中的值是多行字符串。
例子:在複製/粘貼日食中保留格式

theMap.put("SOMEKEY", "Line 1 of string. 
       Also line 2 of string. 
       Perhaps more"); 

當我試圖複製/粘貼代碼到eclipse我得到紅色的錯誤是由於地圖中的值的格式。
我google和found和在這裏,在Eclipse中有一個配置保留在字符串文字的格式,但它似乎並沒有在這種情況下工作。
是否有其他配置選項?

+0

如何生成的代碼? – jlordo

+0

用''\ n「'用您選擇的文本編輯器在eclipse中替換換行符。如果您沒有後處理它,請使用具有宏功能的編輯器並編寫一個宏,而不是僅檢測要替換的換行符。 – MrSmith42

+0

@ MrSmith42:如何在文本編輯器的替換函數中聲明換行符以便用'\ n'替換它們? – Jim

回答

2

如果你只需要保留空間,請使用\ n字符是這樣的:

theMap.put("SOMEKEY", "Line 1 of string.\nAlso line 2 of string.\nPerhaps more"); 

或者,如果你想讓它多:

theMap.put("SOMEKEY", "Line 1 of string." 
       +"\nAlso line 2 of string." 
       +"\nPerhaps more"); 

如果您只粘貼的字符串值成空字符串(""),要能夠做到這一點,你需要啓用以下設置:window> preferences> java> editor>鍵入並檢查最後一個選項(當粘貼到字符串文字時轉義文本)

+0

我的問題是我需要**粘貼現有的片段**。不是如何修改它們 – Jim

+0

我已經使用可以幫助你的選項編輯我的文章。你必須將一個字符串文字粘貼到空引號中才能運行 –

+0

我試過這種配置。在這種情況下不起作用 – Jim

0
theMap.put("SOMEKEY", "Line 1 of string.\nAlso line 2 of string.\nPerhaps more"); 

要分成多行:

theMap.put("SOMEKEY", "Line 1 of string.\nAlso line 2 of string.\n" + 
     "Perhaps more"); 

如果你想從文件中讀取多行:

String s, fullString; 
while ((s = bufferedReader.readLine()) != null) { 
    fullString += s + "\n"; 
} 
bufferedReader.close(); 
theMap.put("SOMEKEY", fullString); 
+0

你的意思是手動執行此操作嗎?我的問題是我需要**粘貼現有片段**。不是如何修改它們 – Jim

+0

@Jim爲什麼你需要粘貼現有的片段?我可以想到另一種方式:你可以從文件中讀取。 – Doorknob