java - 尝试使用 SmbFileInputStream

标签 java android eclipse smb

这是我上周提出的问题的更新版本。
我正在尝试使用 SmbFileInputStream 将我的 Android 连接到我的 PC,
但应用程序中止(在我的平板电脑上)并显示以下错误消息:

"The application has stopped unexpectedly. Please try again."  

我正在使用 Try/Catch,但它不会触发任何这些异常。
适用的代码如下所示:

   SmbFile inFile = null;  
   jcifs.Config.setProperty( "jcifs.netbios.wins", "192.168.2.2" ) }  
   try { inFile = new SmbFileInputStream( "smb://MIKE-PC/Users/Public/List1.txt" ); }
   catch (SmbException e)          {  ListItems.add("SMB Error");  }  
   catch (MalformedURLException e) {  ListItems.add("URL Error");  }  
   catch (UnknownHostException e)  {  ListItems.add("Host Error");  }

我尝试了带有和不带有名称和密码的代码,但都不起作用:

   try { inFile = new SmbFile( "smb://MIKE-PC_Network:123ABC@Mike-PC/" ); }

当我尝试分两步执行时,SmbFile 不会中止,但 SmbFileInputStream 会中止。

   try {  sFile = new SmbFile( "smb://MIKE-PC/Users/Public/List1.txt" );  }  
   try {  inFile = new SmbFileInputStream( sFile );  }  

当我尝试获取文件列表时,SmbFile 不会中止,但 sFile.list 会中止。

   try {  sFile = new SmbFile( "smb://MIKE-PC/" ); }
   try {  lBuf = sFile.list(); . . .

我位于本地网络,而不是域。
平板电脑能够使用另一个应用程序登录,因此我知道网络正常。
我已经尝试了用户、网络、PC 名称的所有可能组合。

SMB 需要一些额外信息才能正常工作吗?

例如,经过几天的网络搜索,我看到了以下提示:
* Java SMB 无法在 Android 中运行 - 这是真的吗?我有哪些?
* 将 jcifs.jar 放在 libs 文件夹中将无法与 jcifs 一起使用。
* 我是否需要将 jCIFS jar 文件添加到 CLASSPATH,还是由 Eclipse 处理?
* 如果我给SmbFileInputStream一个文字字符串,我需要调用registerSmbURLHandler吗?
* 是否需要在 list 中添加读取外部权限?

这是真的吗?我该怎么办?

最佳答案

您是否尝试过“smb://用户名:密码@本地ip/”使用实际IP地址进行操作。对我来说,我必须使用 IP 来完成此操作,使用计算机名称我的应用程序从未连接到 Windows 共享并崩溃。

关于java - 尝试使用 SmbFileInputStream,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13871198/

相关文章:

android - 我的 Android 项目的 build.gradle 文件在哪里?

java - Eclipse 内存分析器中的 OQL - 如何显示数组/ArrayList 内容

java - 在 java 中测试 Socket#connect 超时

xml - 我想在 Android 中使用 Xpath 来解析 XML

android - JSONObject 到自定义对象的转换

android - 线程或服务

从具有基类和接口(interface)的 c++ 类使用 SWIG 生成 Java 类

java - 显示相同的纹理。绑定(bind)问题?

java - 在 Eclipse 中从 Ant 构建文件执行 Bash.exe 时出现问题

eclipse - 使用 from-import-as 时 Unresolved pydev 导入错误