如何使用samba with java从windows计算机访问solaris中的共享位置?
我需要使用java程序从windows计算机访问位于solaris计算机中的共享位置。我写了一段代码,但当它运行时抛出运行时异常。请参阅下面的代码和错误如何使用samba with java从windows计算机访问solaris中的共享位置?,java,sockets,window,solaris,samba,Java,Sockets,Window,Solaris,Samba,我需要使用java程序从windows计算机访问位于solaris计算机中的共享位置。我写了一段代码,但当它运行时抛出运行时异常。请参阅下面的代码和错误 public class SambaDemo { public static void main(String[] args) throws IOException { String user = "username"; String pass = "password"; String
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)
线程“main”jcifs.smb.SmbException中的异常:连接失败:主机名/*******
jcifs.util.transport.TransportException
java.net.ConnectException:连接被拒绝:连接
位于java.net.PlainSocketImpl.socketConnect(本机方法)
位于java.net.PlainSocketImpl.doConnect(PlainSocketImpl.java:352)
位于java.net.PlainSocketImpl.connectToAddress(PlainSocketImpl.java:214)
位于java.net.PlainSocketImpl.connect(PlainSocketImpl.java:201)
位于java.net.socksocketimpl.connect(socksocketimpl.java:378)
位于java.net.Socket.connect(Socket.java:537)
位于java.net.Socket.connect(Socket.java:487)
位于java.net.Socket(Socket.java:384)
位于java.net.Socket(Socket.java:198)
位于jcifs.smb.SmbTransport.ssn139(SmbTransport.java:185)
在jcifs.smb.SmbTransport.negotiate(SmbTransport.java:247)
位于jcifs.smb.SmbTransport.doConnect(SmbTransport.java:312)
在jcifs.util.transport.transport.run(transport.java:232)
运行(Thread.java:736)
在jcifs.util.transport.transport.run(transport.java:248)
运行(Thread.java:736)
位于jcifs.smb.SmbTransport.connect(SmbTransport.java:299)
位于jcifs.smb.SmbTree.treeConnect(SmbTree.java:156)
位于jcifs.smb.SmbFile.doConnect(SmbFile.java:906)
位于jcifs.smb.SmbFile.connect(SmbFile.java:949)
位于jcifs.smb.SmbFile.connect0(SmbFile.java:875)
在jcifs.smb.SmbFile.open0(SmbFile.java:965)
位于jcifs.smb.SmbFile.open(SmbFile.java:999)
在jcifs.smb.SmbFileOutputStream。(SmbFileOutputStream.java:142)
在jcifs.smb.SmbFileOutputStream。(SmbFileOutputStream.java:97)
在jcifs.smb.SmbFileOutputStream。(SmbFileOutputStream.java:67)
位于com.java.samba.test.SambaDemo.main(SambaDemo.java:18)
为了运行你需要提供主机名、ip地址、用户名和密码。我期待一些专家的帮助。非常感谢 “连接被拒绝”表示主机未侦听该端口。您需要确保samba服务正在该主机上运行
我会检查您是否可以先将文件系统作为驱动器号装载。这意味着我需要在solaris中安装samba吗?@stacktome如果您想在solaris上使用samba,则需要安装并配置它。