从数据库列中检索Java时,Java不会将“ \ n”视为换行

我面临一个奇怪的问题。

我正在做的是将一些值存储在DB(oracle 11g)中,作为 然后在java中获取值并处理获取的数据。

现在,我已经在数据库中使用 作为值,并使用来在Java中获取它rs.getString()。我正在获得适当的价值\n

String newLine=rs.getString("column_value");

现在我解析一个HTML页面并以字符串的形式获取整个页面,假设该页面有3行,每行描述了一些类似如下的信息:

Time: 08 AM - 11 AM

Duration : 36 minutes

现在,在代码中,我将 传递给方法,这将返回“ 36分钟”。

我使用的逻辑是获取 的索引并读取直到遇到“ \ n”。如果我将换行符声明为

String newLine= "\n";

但是,如果我从数据库获得它是行不通的。我知道我不需要将其存储在数据库中,但我不想对这些项目进行硬编码。所以我只需要将其存储在DB中。有人可以帮我吗???

回答:

如果当你打印newLine\n的输出,你可能需要您取消转义从数据库得到的字符串。Apache Commons Lang为此提供了一种方法:

http://commons.apache.org/proper/commons-

lang/javadocs/api-2.6/org/apache/commons/lang/StringEscapeUtils.html#unescapeJava(java.io.Writer,java.lang.String)

所以你只需要打电话

 String newLine = StringEscapeUtils.unescapeJava(rs.getString("column_value"));

希望这可以帮助

以上是 从数据库列中检索Java时,Java不会将“ \ n”视为换行 的全部内容, 来源链接: utcz.com/qa/424999.html

回到顶部