Tag: smb

文件存在时抛出FileNotFoundException

我正面临这个奇怪的问题。 我正在尝试将位于另一台计算机上的文件作为共享资源读取: \\remote-machine\dir\MyFileHere.txt 当我运行一个独立的应用程序(16行java文件)时,一切都很好。 但是当我尝试使用相同的类和相同的方法从服务器“引擎”(这是一个应用程序引擎,就像你可以运行java程序的Java EE应用程序服务器)中读取相同的文件时,“FileNotFoundException”被抛出。 我虽然我会获得某种权限,所以我将资源映射为驱动器:K:\ 重新运行我的java文件,读取,罚款。 在“引擎” – > FileNotFoundException中重新运行我的java文件。 当我将文件复制到本地计算机(C:\ MyFileHere.txt)时,不会抛出任何exception。 题 可能导致此FileNotFoundExcecption的原因是什么? 我正在使用Java 1.5 据我所知,引擎几乎透明地使用java。 有人遇到过类似的事吗? 补充问题? 这对解决方法有什么好处? 我开始考虑提供服务这些文件的tomcat安装并通过http读取它们,但我认为这太多了,这就是为什么SMB协议首先出现的原因不是吗? 也许我无论如何都无法打开sockets。 安全管理器可能是原因(我之前从未使用过,但我知道它存在) 如果出现这种情况,是否会抛出SecurityException? 非常感谢。 编辑 解决了。 谢谢史蒂夫W. 事实certificate,该引擎是与ZeroG的“LaunchAnywhere”一起发布的。 因此,创建一个.exe,然后将使用指定的应用程序运行JVM。 这个应用程序本身就是Launcher。 当它启动引擎时,以某种方式(我无法弄清楚为什么或如何)拥有JVM进程的用户是SYSTEM。 史蒂夫指出,该用户没有NETWORK访问权限,因此无法从共享资源或映射驱动器中读取。 解决方法(当我向制造商报告时)是创建一个.cmd文件来手动启动引擎。 由于它将手动启动,因此用户可以访问网络。 我使用了SysInternals的“Process Explorer”来确切地知道用于运行引擎应用程序的命令行。 真是一团糟! 感谢那些发布答案的人。

从java访问SMB2.1或SMB3共享?

由于Windows 2012R2不再支持SMB1协议而没有一些注册表黑客,在Java中只支持SMB2.1或SMB3的SMB共享中是否有任何成功? JCIFS库显然只是SMB1,所以它出来了。 我看到微软有一个用于Azure的Java库,但这似乎是利用服务而不是SMB。

试图使用SmbFileInputStream

这是我上周问的一个问题的更新版本。 我正在尝试使用SmbFileInputStream将我的Android连接到我的PC, 但该应用程序中止(在我的平板电脑上)此错误消息: “The application has stopped unexpectedly. Please try again.” 我正在使用Try / Catch但它不会触发任何这些exception。 适用的代码如下所示: 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”); } 我尝试使用和不使用名称和密码的代码,但都没有工作: […]

如何使用Java中的jcifs将文件从smb共享复制到本地驱动器?

有人可以帮我将文件从共享文件夹复制到本地驱动器吗? 我的代码是: import jcifs.smb.NtlmPasswordAuthentication; import jcifs.smb.SmbFile; import jcifs.smb.SmbFileInputStream; import jcifs.smb.SmbFileOutputStream;; public class smb { /** * @param args * @throws IOException */ public static void main(String[] args) throws IOException { // TODO Auto-generated method stub String urlToBackUpFile = “smb://ip/backup$/test.txt”; System.out.println(“smb folder of source file” + urlToBackUpFile); NtlmPasswordAuthentication auth = new NtlmPasswordAuthentication(null, “login”, “pass”); SmbFile dir […]

使用Java和Samba JCIFS访问文件

我有一个关于使用Samba JCIFS访问文件的问题。 所以有一个我想访问的服务器,我们称之为server.unv.edu,工作组是WKGRP。 此服务器中有一个共享:\\ server.unv.edu \ pcb $ 我试图访问服务器的方式是: public class SMBAuthenticator extends NtlmAuthenticator{ private String username = “username”; private String password = “password”; private String domain = “smb://server.unv.edu/WKGRP/”; public SMBAuthenticator(){ NtlmAuthenticator.setDefault(this); } 和 public class SMBConnection{ public String urlString = “smb://server.unv.edu/pcb$/path/file.txt”; NtlmPasswordAuthentication auth; SmbFile smbFile; public SMBConnection() throws MalformedURLException{; //url = new URL(urlString); SMBAuthenticator […]