我正在读取Java中的源文件,但是当我打印它(sysout)时,转义的字符不再转义。如何在Java中转义像\n和这样\t的字符?
\n
\t
您应该使用Apache Commons Text中的StringEscapeUtils类(您也可以在Apache Commons Lang3中找到该类,但已弃用该类)。您会发现Apache Commons中还有许多其他产品可能对您在Java开发中遇到的其他问题有用,因此您不必重新发明轮子。
StringEscapeUtils
您想要的特定调用与“ Java转义”有关;API调用为StringEscapeUtils.escapeJava()。例如:
StringEscapeUtils.escapeJava()
System.out.println(StringEscapeUtils.escapeJava("Hello\r\n\tW\"o\"rld\n")
将打印出:
Hello\r\n\tW\"o\"rld\n
该库中还有许多其他转义的实用程序。您可以在Maven Central中找到Apache Commons Text,并将其添加到Maven项目中,如下所示:
<dependency> <groupId>org.apache.commons</groupId> <artifactId>commons-text</artifactId> <version>1.3</version> </dependency>
如果您使用的是Gradle:
compile "org.apache.commons:commons-text:1.3"