我有一个表,其中包含数据类型为 varchar 的字段,因此它可以包含任何类型的文本,包括字母数字字符和符号等。我必须在用 java 制作的模块中使用 mysql 查询来获取该文本并写入一份文件。在单行文本中它工作正常,但当文本中有\n 时会出现问题。
问题:
当我通过查询获取文本时,我没有找到任何\n 值,但当我写入文件时,它是用换行符写入的。后来我必须使用其他一些 java 实用程序逐行读取该文件,并且换行符扰乱了我的逻辑。
示例:
Hafiz saleem ullah
Hamza iron store
( New lari adda Jalal pur bhattian)
0547 500830
03006523830
03229256356
以上文本存储在一个字段中,但显示方式如上所述。文中看不到\n,但实际上是有的。这是单行文本,由于换行符而分为多行。
从数据库获取数据的代码:
下面是使用作为参数 sqlStmt 传递的存储过程从数据库获取数据并从结果中提取值的 java 代码行。
conn = DatabasePool.poolDs.getConnection();
stmt = conn.createStatement();
rslt = stmt.executeQuery(sqlStmt);
int numcols = rslt.getMetaData().getColumnCount();
while (rslt.next()) {
String[] row = new String[numcols];
for (int i = 0; i < numcols; i++) {
row[i] = rslt.getString(i + 1);
}
result.add(row);
}
if (result.size() > 0) {
status = result.get(0)[0]; //toString() is implicit here
}
注意: 现在数据位于状态变量中,该变量使用 log4j 库写入文件中。
最佳答案
String text = <<you db field value>>;
text = text.replace("\n", "");
关于java - 从 mysql 查询结果中删除\n,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30895505/