当前位置: 首页 > 面试题库 >

Java属性反斜杠

危璞
2023-03-14
问题内容

我正在使用Java属性读取属性文件。一切工作正常,但是Properties静默删除反斜杠。

(即)

original: c:\sdjf\slkdfj.jpg

after: c:sdjfslkdfj.jpg

我如何使Properties不这样做?

我正在使用代码 prop.getProperty(key)

我正在从文件获取属性,并且我想避免添加双反斜杠


问题答案:

正是由于Properties.load()引起了您看到的问题,因为反斜杠用于特殊用途。

通过使用反斜杠字符\来结束行终止符序列,可以将包含键对对的所有数据的逻辑行分布在几条相邻的自然行之间。

如果您无法使用CoolBeans的建议,那么您可以做的是先将属性文件读取为字符串,然后用双反斜杠替换反斜杠,然后将其提供给Properties.load()

String propertyFileContents = readPropertyFileContents();

Properties properties = new Properties();
properties.load(new StringReader(propertyFileContents.replace("\\", "\\\\")));


 类似资料:
  • Markdown 可以利用反斜杠来插入一些在语法中有其它意义的符号,例如:如果你想要用星号加在文字旁边的方式来做出强调效果(但不用 <em> 标签),你可以在星号的前面加上反斜杠: \*literal asterisks\* Markdown 支持以下这些符号前面加上反斜杠来帮助插入普通的符号: \ 反斜线 ` 反引号 * 星号 _ 底线 {} 花括号 [] 方括号 () 括

  • 问题内容: 在Java中,我有一个文件路径,例如“ C:\ A \ B \ C”,我希望将其更改为“ C:/ A / B / C”。如何替换反斜杠? 问题答案: String text = “C:\A\B\C”; String newString = text.replace(“\“, “/”); System.out.println(newString);

  • 问题内容: 我有一个字符串“ \\ u003c”,它属于UTF-8字符集。由于存在双反斜杠,因此我无法将其解码为unicode。如何从“ \\ u003c”获取“ \ u003c”?我正在使用Java。 我尝试过 但无法实现我想要的。 这是我的代码 文件的内容是 \ u003c 问题答案: 不知道您是否仍在寻找解决问题的方法(因为您已经接受了答案),但是我仍然会添加我的答案作为针对 所述问题 的可

  • 问题内容: 我正在尝试将转换为,但是我不断遇到各种错误。我认为这是解决方案: 但这给出了以下异常: 问题答案: 将该参数解释为正则表达式。该是转义字符都 和。你需要对正则表达式进行两次转义: 但是你不必为此使用正则表达式,仅是因为你希望逐个字符地进行精确替换,并且这里不需要模式。因此就足够了: 更新:根据注释,你似乎想在JavaScript上下文中使用字符串。你最好使用它来覆盖更多字符。

  • 问题内容: 这是一个“到底发生了什么”的问题。我实际上不需要解决方案。 我必须用双反斜杠替换字符串中的所有单反斜杠。这就是我最终要做的… …其中strRootDirectory是上面的java.lang.String。 现在,我了解了第一个参数的四个反斜杠:regex期望两个反斜杠以表示单个文字反斜杠,而Java希望它们加倍。没关系。 但是,第二个参数的八个反斜杠到底是怎么回事?替换字符串不是应该

  • 问题内容: 我正在将CSV文件导入MySQL数据库。可以通过支持文件路径中的正斜杠来实现。如果用户给出路径 MySQL不支持这种类型的路径模式。我想在路径中搜索反斜杠并将其替换为正斜杠,以实现以下目的: 怎么做? 问题答案: 在Java中,使用以下命令: 注意,这里不需要replace的正则表达式版本,即;仍会替换所有出现的搜索词,但会搜索 文字 字符串,而不是正则表达式匹配项。