записывать '\ t' '\ n' и т. д. символы в файл, как строка_? - PullRequest
0 голосов
/ 11 августа 2011

Привет, я пытаюсь написать код, который автоматически генерирует код и записывает в файл. Так что проблема заключается в том, что я пытаюсь написать символы '\ 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, я должен увидеть «ИМЯ (здесь должен быть символ пробела) LAST_NAME». Но в символе «\ t» записывается pr.println («var1» + «var2»). Я надеюсь,я правильно объясняю свою работу. :) и я ценю, если вы поможете мне.

Ответы [ 2 ]

3 голосов
/ 11 августа 2011

Не совсем понятно, что вы имеете в виду, но я подозреваю вы просто пытаетесь избежать обратной косой черты:

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

(Я взял на себя смелость объединить все символы, которые у вас есть в конце, в одну строку, что означает, что нам также нужно экранировать двойные кавычки, следовательно, \".)

1 голос
/ 11 августа 2011

Символ обратной косой черты - это специальный символ, используемый для экранирования таких символов, как табуляции (\t), символы новой строки (\n) и т. Д. Поэтому, если вы хотите напечатать обратную косую черту, вы должны набрать \\.

В вашем конкретном случае вы хотите распечатать "\\t".

...