想知道是否有其他人遇到过这个问题,他们是否已经能够解决?我有一个音乐播放应用程序,可以播放我的Android设备上存储在我的电脑上的音乐。
我确定这不是最有效的方法,但基本上它将音乐文件从PC下载到手机上的临时文件,然后播放文件。
这一点工作正常,直到我将PC升级到Windows 10,但此后一直没有用。我没有对使用jcifs-1.3.17.jar库的代码进行任何更改。
这是代码:
SmbFile smbFileToDownload = null;
String user = "My Windows 10 User Name";
String pass ="My Windows 10 Password";
NtlmPasswordAuthentication auth = new NtlmPasswordAuthentication("",user, pass);
smbFileToDownload = new SmbFile(strPCPath,auth);
InputStream inputStream = null;
inputStream = smbFileToDownload.getInputStream();
String localFilePath = “The Path to where the local file will be stored”;
OutputStream out = null;
out = new FileOutputStream(localFilePath);
byte buf[] = new byte[1024];
int len;
// GET TO HERE OK, THEN EXCEPTION THROWN
while ((len = inputStream.read(buf)) > 0) {
out.write(buf, 0, len);
}
out.flush();
out.close();
inputStream.close();
调试时,我到了while行,在第一遍中需要一个年龄才能超过这个,然后在第二个传递时它会抛出异常。当我查看临时目录时,那里有一个文件,但只有1kb。 感谢任何人提供的任何帮助。
答案 0 :(得分:1)
如果我被允许回答我自己的问题(希望能帮助任何面对同一问题的人)。
我使用我的Microsoft帐户登录Windows,因此我的用户名(代码中的字符串用户)是myname@mydomain.co.uk。
我改变了行
String user =“myname@mydomain.co.uk”;
到
String user =“myname”;
它现在有效。