作者热门文章
- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我有一个非常小而简单的问题,但我没有得到解决方案。实际上我正在使用文件选择器获取 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 literal 中使用双斜线来转义斜线:
String s = "c:\\new folder\\title.csv";
如果最终用户在 JFileChooser 中输入字符串,则字符串变量将包含用户输入的所有字符。只有在 Java 源代码中使用字符串文字时才需要转义。
并使用准备好的语句将字符串插入到数据库表中。这将正确转义特殊字符并避免 SQL injection攻击。在 Java tutorial about JDBC 中阅读有关准备好的语句的更多信息.
关于java - 如何转义java中文件路径中的反斜杠和自动生成的转义字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7553634/
我是一名优秀的程序员,十分优秀!