我正在将CSV文件导入到MySQL数据库中。这可以使用java.mysql对文件路径中的正斜杠的支持来完成。如果用户提供了路径
String filepath=" c:\upload\date\csv\sample.csv";我们可以使用下面这行代码将'\'替换为'/'。
String filepath2=filepath.replace("\\","/");但是当用户输入路径时,如下所示
String filepath=" c:\test.csv";replace函数无法用"/"替换"\\"
因为文件路径中的'\'没有保留'\',因为'\'后面跟着't‘,所以它变成了'\t'转义字符。每一个转义序列都会出现这种类型的问题。
我想在路径中搜索反斜杠,并将它们替换为正斜杠,如下所示:
c:/test.csv这是怎么做到的呢?如何解决这个问题?
发布于 2011-09-26 20:03:38
如果您通过JFileChooser获取值,那么它将更像这样:
String value = "c:\\test.csv"; // This really only has a single backslash但是你不需要把反斜杠替换成正斜杠。我的猜测是,您正在生成的SQL中直接包含了值:不要这样做。使用带参数的预准备语句,您可能会发现问题就这么消失了……突然之间,你也不再那么容易受到SQL注入攻击了……
如果你真的真的需要把反斜杠转换成正斜杠,你可以使用:
String newValue = oldValue.replace("\\", "/");..。但是你不应该这样做。
https://stackoverflow.com/questions/7554361
复制相似问题