在'string'等文件中写'\ t''\ n'等字符?

时间:2011-08-10 22:03:05

标签: java character

在那里,我正在尝试编写一个代码,自动生成代码并在文件中写入。所以问题是当我尝试写'\ t''\ n'等字符时我遇到问题。

    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”)。我希望我正确地解释我的工作。 :)如果你能帮助我,我很感激。

2 个答案:

答案 0 :(得分:3)

你的意思并不是很清楚,但我怀疑你只是试图逃避反斜杠:

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

(我冒昧地将你最后得到的所有字符组合成一个字符串,这意味着我们也需要转义双引号,因此\"。)

答案 1 :(得分:1)

反斜杠字符是一个特殊字符,用于转义标签(\t),换行符(\n)等内容。因此,如果要打印反斜杠,则必须键入{{ 1}}。

在您的特定情况下,您要打印\\