【问题标题】:how to define path in SMB如何在 SMB 中定义路径
【发布时间】:2018-05-08 12:00:36
【问题描述】:

我有一个场景,我需要将文件从我的机器发送到某个共享位置。当我可以在我的机器上看到共享位置时(Windows 7)显示为 N:驱动器。

net use 命令的 O/P 找到它的远程,我得到它为 \\smb\ds

我正在编写代码以将字符串写入远程位置的文件,即N:\TESTING_GOING_ON\test.txt 它是这样的,

String user = "abcd:XXXXX";
NtlmPasswordAuthentication auth = new NtlmPasswordAuthentication(user);
String path = "smb//ds/TESTING_GOING_ON/test.txt";
SmbFile sFile = new SmbFile(path,auth);
try (SmbFileOutputStream sfos = new SmbFileOutputStream(sFile)) {
    sfos.write(str.getBytes());
    sfos.close();
}

使用jcifs.smb.* 但是,对于路径,我要么没有定义协议,要么连接失败。

所以有人可以让我知道我使用的路径是否正确。 如果不正确怎么办

【问题讨论】:

    标签: java smb


    【解决方案1】:

    documentation 看起来很清楚(尽管我没有测试过)。示例格式为

    smb://storage15/public/foo.txt
    

    所以对你来说,应该是

    smb://smb/ds/TESTING_GOING_ON/test.txt
    

    假设您的 SMB 服务器实际上命名为 smb,这会很有趣。

    【讨论】:

    • 但这对于 linux 环境来说也是相同的路径。我正在尝试在云上运行相同的程序,但连接失败。在文档中它没有给出它是特定于 Windows 还是 linux
    • 是的,到处都是一样的。我会怀疑防火墙问题。尝试在本地 Linux 上运行确认。
    • 感谢您的回复。我会尝试并在此处发布结果。但是,当涉及到将文件从一个地方传输到另一个地方时,所有的连接方法都是什么,比如使用 FTP 等。阅读任何文件的任何建议。
    • 可能这上面的问题是一个错误的问题,但我正在寻找它如何传输文件以及我需要向网络部门提供哪些端口。打开防火墙设置或从云端连接到内部驱动器时
    • 您好,听起来您有两个全新的问题,因为传输文件的方法有很多种。也就是说,serverfault.com/questions/346196/… 将对其中一个有用。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-03-19
    • 1970-01-01
    • 1970-01-01
    • 2012-12-21
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多