我正在用Android Studio编写代码,但是有问题。我想访问Windows共享上的现有文件。不幸的是,当我调试或运行代码时,它对我不起作用。我知道模拟器不是同一网络,但是我下载了ping应用程序,然后将ping,imcp发送到了服务器上。 我下载了jcifs-1.3.19.jar,然后将其导入到项目中,但始终停留在某一时刻。
SmbFileInputStream in = new SmbFileInputStream("smb://host/c/My Documents/somefile.txt", auth);
此代码来自官方网站。 https://www.jcifs.org/src/docs/api/
我已经尝试了很多方法。为什么不能在模拟器上工作?
import jcifs.smb.*;
try{
jcifs.Config.setProperty( "jcifs.netbios.wins", "192.168.1.220" );
NtlmPasswordAuthentication auth = new NtlmPasswordAuthentication("domain", "username", "password");
SmbFileInputStream in = new SmbFileInputStream("smb://host/c/My Documents/somefile.txt", auth);
byte[] b = new byte[8192];
int n;
while(( n = in.read( b )) > 0 ) {
System.out.write( b, 0, n );
}
}
catch(Exeption e)
{}
感谢您的帮助。
答案 0 :(得分:0)
什么是目标服务器? 仅当服务器支持SMBv1时,JCIFS才能连接到服务器。新的Windows 10操作系统不支持此协议。 如果您需要可以连接到Windows 10的Java SMB库,请查找jNQ库(商业许可)。