我有一个非常小而简单的问题,但我没有得到解决方案。
实际上我正在使用文件选择器获取 CSV 文件路径。
我使用加载数据本地 infile 查询将此 csv 文件中的数据输入到数据库中。
假设我输入的文件路径是“C:\title.csv”
当我将此字符串放入查询中时,您将在路径中看到 \t 组合。这个 \t 实际上是文件路径的一部分,而不是转义字符 '\t'。但java和mysql认为它是转义字符。
然后我尝试使用以下代码行将文件路径字符串中的“\”替换为“\\”。
String filepath="C:\title.csv";
String filepath2=filepath.replace("\\","\\\\");
仍然对文件路径没有影响,并且仍然将 '\t' 视为转义字符。
那么我的问题是如何在不更改文件名的情况下解决这个问题?
如果我们有这样的路径
String filepath="C:\new folder\title.csv";
它将把 \n 和 \t 视为转义字符。
如果路径中的文件或文件夹的名称导致转义字符,如何解决此问题?
在 Java 中使用双斜杠字符串字面量转义斜杠:
String s = "c:\\new folder\\title.csv";
如果最终用户在 JFileChooser 中输入字符串,则字符串变量将包含用户输入的所有字符。仅当在 Java 源代码中使用字符串文字时才需要转义。
并使用准备好的语句将字符串插入数据库表中。这将正确转义特殊字符并避免SQL注入 http://en.wikipedia.org/wiki/SQL_injection攻击。阅读有关准备好的语句的更多信息关于 JDBC 的 Java 教程 http://download.oracle.com/javase/tutorial/jdbc/basics/prepared.html.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)