我正在开发一个应用程序,我必须从应用程序中打开文档。我必须将文件的路径保存到sql数据库。插入文件路径的sql中的列的类型为VARCHAR(255)。
如果文件的路径是C:\Users\UPS21120\Downloads\doc1.pdf
,它将作为C:UsersUPS21120Downloadsdoc1.pdf
保存在数据库中(保存路径中的反斜杠在哪里?)。
当我检索此路径以打开文件doc1.pdf
时, 我收到一个异常,说明doc1不存在 。以下是代码I用来保存路径。请帮忙。
JFileChooser fc = new JFileChooser();
returnVal = fc.showOpenDialog(view_doc.this);
File file1=fc.getSelectedFile();
if (returnVal == JFileChooser.APPROVE_OPTION) {
String str = "INSERT INTO document(doc_path) VALUES ('"+file+"')";
// open connection..execute query etc--works fine
}
答案 0 :(得分:1)
在将数据插入数据库之前,必须先转义要插入的值。或者您可以使用准备好的语句为您做到这一点。
答案 1 :(得分:1)
转义java中的字符串
http://commons.apache.org/lang/api-2.4/org/apache/commons/lang/StringEscapeUtils.html
使用Java String规则转义String中的字符。 ...正确处理引号和控制字符(制表符,反斜杠,cr,ff等)
答案 2 :(得分:0)
最简单的解决方案是在路径中使用/
而不是\
。然后,您可以轻松地将路径字符串插入数据库。没有错误。此外,java可以使用/