首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在java中将文件路径中转义字符中的反斜杠后跟't‘或任何其他字母或字符替换为正斜杠?

问如何在java中将文件路径中转义字符中的反斜杠后跟't‘或任何其他字母或字符替换为正斜杠?
EN

Stack Overflow用户
提问于 2011-09-26 19:26:59
回答 1查看 590关注 0票数 0

我正在将CSV文件导入到MySQL数据库中。这可以使用java.mysql对文件路径中的正斜杠的支持来完成。如果用户提供了路径

代码语言:javascript
复制
String filepath=" c:\upload\date\csv\sample.csv";

我们可以使用下面这行代码将'\'替换为'/'。

代码语言:javascript
复制
String filepath2=filepath.replace("\\","/");

但是当用户输入路径时,如下所示

代码语言:javascript
复制
String filepath=" c:\test.csv";

replace函数无法用"/"替换"\\"

因为文件路径中的'\'没有保留'\',因为'\'后面跟着't‘,所以它变成了'\t'转义字符。每一个转义序列都会出现这种类型的问题。

我想在路径中搜索反斜杠,并将它们替换为正斜杠,如下所示:

代码语言:javascript
复制
c:/test.csv

这是怎么做到的呢?如何解决这个问题?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-09-26 20:03:38

如果您通过JFileChooser获取值,那么它将更像这样:

代码语言:javascript
复制
String value = "c:\\test.csv"; // This really only has a single backslash

但是你不需要把反斜杠替换成正斜杠。我的猜测是,您正在生成的SQL中直接包含了值:不要这样做。使用带参数的预准备语句,您可能会发现问题就这么消失了……突然之间,你也不再那么容易受到SQL注入攻击了……

如果你真的真的需要把反斜杠转换成正斜杠,你可以使用:

代码语言:javascript
复制
String newValue = oldValue.replace("\\", "/");

..。但是你不应该这样做。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7554361

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档