当前位置: 首页 > 知识库问答 >
问题:

unknownHostException:..__MSBrowse__当使用jcifs时

乜璞瑜
2023-03-14

我正试图将文件从本地目录复制到windows框上的网络共享。我使用的是jcifs 1.3.17。我成功地获得了到目标的连接,实际上在那里创建了文件,获得了“canwrite”状态为“true”,但是当我试图将本地文件的内容复制到远程文件时,我得到了以下错误:

jcifs.smb.SmbException: Failed to connect to server
java.net.UnknownHostException: ..__MSBROWSE__.<01>
   at jcifs.netbios.NbtAddress.doNameQuery(NbtAddress.java:317)

代码段:

        SmbFile source = new SmbFile(original);
        SmbFile dest = new SmbFile (target,auth);
        dest.createNewFile();
        boolean canWrite = dest.canWrite();
        source.copyTo(dest);

我不明白...如果我可以在目标上创建文件,并且smb看到我可以写到它,为什么doCopy会失败?

共有1个答案

马奇略
2023-03-14

我也不明白,但是...试试这个。管用!

    String source = "smb://SERVER/PATH/FILE";
    NtlmPasswordAuthentication auth = new NtlmPasswordAuthentication(null, "USERNAME", "PASSWORD");
    SmbFile sourceFile = new SmbFile(source, auth);
    String destination = "LOCAL_PATH_TO_FILE";

    byte[] buffer;
    int length;

    try {
        FileOutputStream fileOutputStream = new FileOutputStream(destination);
        InputStream fileInputStream = sourceFile.getInputStream();
        try {
            buffer = new byte[16 * 1024 * 1024];
            while ((length = fileInputStream.read(buffer)) > 0) {
                fileOutputStream.write(buffer, 0, length);
            }
        } finally {
            fileInputStream.close();
            fileOutputStream.close();
        }
    } catch (SmbException e) {
        // Error handling.    
    } catch (FileNotFoundException e) {
        // Error handling.
    } catch (IOException e) {
        // Error handling.
    }

下面的问题和答案如下:如何在Java中使用jcifs将文件从smb共享复制到本地驱动器?

 类似资料:
  • jCIFS是CIFS在JAVA中的一个实现,是samba组织本着linux的精神,负责维护开发的一个开源项目。这个项目专注于使用java语言对 cifs协议的设计和实现。他们将jcifs设计成为一个完整的,丰富的,具有可扩展能力且线程安全的客户端库。这一库可以应用于各种java虚拟机访问 遵循CIFS/SMB网络传输协议的网络资源。 网站上有大量的演示例子。 支持SMB2(2.02协议级别),部分

  • 问题内容: 我有一个关于使用Samba JCIFS访问文件的问题。因此,有一个我要访问的服务器,我们将其称为server.unv.edu,工作组为WKGRP。此服务器中有一个共享:\\ server.unv.edu \ pcb $ 我尝试访问服务器的方式是: 和 但这不起作用。我得到了一个错误 任何人都可以给我建议或代码的正确性,以帮助我访问文件吗? 非常感谢。 问题答案: 您正在使它比应有的难度

  • 我正在编写一个android应用程序来使用JCIFS samba库访问windows共享,但是我收到新SmbFile(path,auth)上的

  • 我在新的Android项目中使用JCIFS。不知何故,我决定使用URL类来泛化文件路径(以便以后可以添加更多协议)。我所做的如下 然后抛出java.net.MalformedURLExcure异常。 参考JCIFS FAQ可以发现,在使用该类之前,我必须注册协议。然而,我真的不知道如何在Android中做到这一点。我认为这个库已经做到了,但在Android上没有。 那么我该怎么做呢?

  • 我在kubernete和docker中使用微服务,当Zuul(网关)将请求数据转发到服务时,我得到了一个,我不能通过pod名称ping到服务容器(但是当我使用docker swarm而不是Kubernetes时,我可以正常地通过主机名ping) 这是我的服务yaml文件 这是错误输出

  • 我刚接触spring,尝试在两个微服务之间进行通信。我创建了四个项目、、、 ProjectOne,ProjectTwo-微服务projectzuul-zuul Api gateway ProjectEureka-Eureka服务器 我试图从调用aget方法到,但总是显示java.net.UnknownHostException ProjectOne文件 Application.Properties