gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-01 19:13:46 24 4
gpt4 key购买 nike

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

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

我们可以通过使用以下代码行将 '\' 替换为 '/' 来实现。

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

但是当用户输入如下路径

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

替换函数无法将 "\\" 替换为 "/"

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

我想在路径中搜索反斜杠并将其替换为正斜杠,以给出以下内容:

c:/test.csv

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

最佳答案

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

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

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

如果您真的非常需要将反斜杠转换为正斜杠,您可以使用:

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

...但你不应该必须这样做。

关于java - 如何将反斜杠后跟 't' 或文件路径中转义字符中的任何其他字母或字符替换为 java 中的正斜杠?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7554361/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com