2011-08-10 27 views
0

嗨,我想寫一個代碼,自動生成代碼並寫入一個文件。所以問題是當我試圖寫'\ T''\ N'等字符我面臨的問題。在文件中寫入' t'' n'等字符就像string_?

FileOutputStream fos2 = new FileOutputStream("...\\PersonalList.java"); 
    PrintStream pr2 = new PrintStream(fos2); 

    for (Iterator<String> itr = name.iterator(); itr.hasNext();) { 

     i++; 

     s_str = itr.next(); 

     if(i==counter) 
      pr2.print('"' + s_str.toUpperCase() + '"' + ");\n"); 

     else 
      pr2.print('"' + s_str.toUpperCase() + '\t' + '"' + '+'); 

    } 

,我的目標是寫例如「pr.println(」 VAR1 \ t」 +‘VAR2 \ t’的)代碼到另一個文件,當我編譯文件,它會創建一個文本文件,所以當我看看我的.txt文件時,我應該看到「NAME(這裏必須是空白字符)LAST_NAME」,但是在'\ t'字符中寫入 pr.println(「var1」+「var2」)。正確地解釋我的工作。),我感激,如果你能幫助我

回答

3

這真不明白你的意思,但我懷疑你只是想逃離反斜槓:

pr2.print('"' + s_str.toUpperCase() + "\\t\"+"); 

(我已經採取了在結尾已經得到了所有的字符組合成一個單一的字符串,這意味着我們需要轉義雙引號爲好,因此\"的自由。)

+0

yesss。有效。你能解釋一下它是如何工作的:) – quartaela

+0

@ user743898:'\ t'是「tab」的轉義序列,但'\\'是「反斜槓」的轉義序列。所以有一個反斜槓後跟一個t,這就是你想要的。 –

+0

非常感謝隊友我明白了:) – quartaela

1

反斜槓字符是用於轉義標籤(\t),換行符(\n)等的特殊字符。因此,如果要打印反斜槓,則必須鍵入\\

在您的具體情況下,您想打印出"\\t"

+0

感謝隊友我明白了:) – quartaela

相關問題