java 获取斜杠后面的字符,如何在文件路径中的转义符中的反斜杠后跟't'或其他字母或字符来替换Java中的正斜杠?...

I'm importing a CSV file to MySQL database. This can be done using java.mysql support for forward slash in file path. If user gives the path

String filepath=" c:\upload\date\csv\sample.csv";

we can do it by replacing '\' with '/' using following line of code.

String filepath2=filepath.replace("\\","/");

but when user enters path as follows

String filepath=" c:\test.csv";

the replace function unable to replace "\\" with "/"

as '\' in the filepath does not remain '\' as '\' is followed by 't' and it becomes as '\t' escape character.

this type of problem will come with each and every escape sequence.

I want to search for backslashes in the path and replace them with a forward slash, to give this:

c:/test.csv

How is that done?

How to solve this problem?

解决方案

If you're getting the value via JFileChooser, then it will be more like this:

String value = "c:\\test.csv"; // This really only has a single backslash

But you shouldn't need to replace the backslashes with forward slashes. My guess is that you're including the value directly in the SQL you're generating: don't do that. Use a prepared statement with parameters instead, and you may well find the problem just goes away... and suddenly you won't be as vulnerable to SQL injection attacks either...

If you really, really need to convert backslashes to forward slashes, you can use:

String newValue = oldValue.replace("\\", "/");

... but you shouldn't have to do this.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值