我需要使用java程序从windows机器访问位于solaris机器中的共享位置。我写了一个代码,但是当它运行时抛出一个运行时异常。请看下面的代码和错误
public class SambaDemo {
public static void main(String[] args) throws IOException {
String user = "username";
String pass = "password";
String sharedFolder = "shared";
String path = "smb://1**.**.**.**/";
NtlmPasswordAuthentication auth = new NtlmPasswordAuthentication("domain", user, pass);
SmbFile smbFile = new SmbFile(path, auth);
SmbFileOutputStream smbfos = new SmbFileOutputStream(smbFile);
smbfos.write("testing....and writing to a file".getBytes());
System.out.println("completed ...nice !");
}
}
请查看我得到的错误
Exception in thread "main" jcifs.smb.SmbException: Failed to connect: hostname/***.**.**.**
jcifs.util.transport.TransportException
java.net.ConnectException: Connection refused: connect
at java.net.PlainSocketImpl.socketConnect(Native Method)
at java.net.PlainSocketImpl.doConnect(PlainSocketImpl.java:352)
at java.net.PlainSocketImpl.connectToAddress(PlainSocketImpl.java:214)
at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:201)
at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:378)
at java.net.Socket.connect(Socket.java:537)
at java.net.Socket.connect(Socket.java:487)
at java.net.Socket.<init>(Socket.java:384)
at java.net.Socket.<init>(Socket.java:198)
at jcifs.smb.SmbTransport.ssn139(SmbTransport.java:185)
at jcifs.smb.SmbTransport.negotiate(SmbTransport.java:247)
at jcifs.smb.SmbTransport.doConnect(SmbTransport.java:312)
at jcifs.util.transport.Transport.run(Transport.java:232)
at java.lang.Thread.run(Thread.java:736)
at jcifs.util.transport.Transport.run(Transport.java:248)
at java.lang.Thread.run(Thread.java:736)
at jcifs.smb.SmbTransport.connect(SmbTransport.java:299)
at jcifs.smb.SmbTree.treeConnect(SmbTree.java:156)
at jcifs.smb.SmbFile.doConnect(SmbFile.java:906)
at jcifs.smb.SmbFile.connect(SmbFile.java:949)
at jcifs.smb.SmbFile.connect0(SmbFile.java:875)
at jcifs.smb.SmbFile.open0(SmbFile.java:965)
at jcifs.smb.SmbFile.open(SmbFile.java:999)
at jcifs.smb.SmbFileOutputStream.<init>(SmbFileOutputStream.java:142)
at jcifs.smb.SmbFileOutputStream.<init>(SmbFileOutputStream.java:97)
at jcifs.smb.SmbFileOutputStream.<init>(SmbFileOutputStream.java:67)
at com.java.samba.test.SambaDemo.main(SambaDemo.java:18)
为了运行,您需要提供主机名、IP 地址、用户名和密码。我期待一些专家的帮助。非常感谢。