【问题标题】:How to pass a user name that contain backslash (\) to jcifs smb?如何将包含反斜杠 (\) 的用户名传递给 jcifs smb?
【发布时间】:2020-04-03 13:52:31
【问题描述】:

我提供了一个包含反斜杠 () 的用户名,并且我可以从 Windows 中通过文件资源管理器访问服务器中的文件夹。但是当我尝试通过 java 连接到该服务器时,它会将斜杠之前的部分视为域名,将斜杠之后的部分视为用户名。

例如: 用户名=“你好\世界” 它会给我用户“世界”不存在。

【问题讨论】:

    标签: java smb jcifs


    【解决方案1】:

    嗯,\ 字符是一个转义字符。如果你想包含反斜杠,你需要做\\。通常,如果字符串没有直接在代码中定义(例如,您通过文本框输入),则通常会包含反斜杠。通常,该字符可以帮助您在字符串中写出您真正想要的东西,例如引号。它结束了字符串,但如果你这样做\",它会被作为该字符串的一部分处理

    【讨论】:

      【解决方案2】:

      问题在于转义字符“\”。您可以转义转义字符。

      username = "Hello\\world";
      or
      username = "Hello\world".replace("\\","\\\\");
      

      【讨论】:

        猜你喜欢
        • 2015-03-03
        • 1970-01-01
        • 2016-06-13
        • 2019-04-20
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多