如何读取共享上的文件

时间:2016-09-24 20:27:48

标签: java file

我们需要读取共享上的文件。这是一个Java应用程序,因此它可以在iSeries上运行并且访问Linux共享(与this question不同 - 我认为更难)。

该共享可能位于我们的域,另一个域或本地共享上(仅授予该计算机上本地用户的权限)。

这是\\ server \ share访问的全部内容。

至于为什么这样一个无所不包的需求,这是我们出货的商业图书馆。我不知道客户会面对什么,所以我想尝试覆盖任何可能性。

2 个答案:

答案 0 :(得分:0)

我犹豫试图回答这个问题,但现在就去了。

你的问题似乎解决了两个不同的情况。

在情况#1中,本地系统使用某种远程文件系统协议安装了远程文件系统。在这种情况下,可以像所有其他文件一样从Java访问文件,并且不需要担心特殊的身份验证或授权。

在情境#2中,您允许用户为您提供一些自定义路径名语法,该语法在远程系统上命名资源,该资源未在本地操作系统上安装,并且您希望从中读取资源。 / p>

这是一项非常广泛而庞大的工作。根本没有通用的Java工具可以解决这个问题。例如,如果您想通过CIFS访问远程Windows文件系统,可以尝试https://jcifs.samba.org/,但自2014年以来它还没有更新。如果您需要通过NFS访问Linux系统上的文件你可以看一下http://j-ftp.sourceforge.net/,但看起来很粗糙。或者你可以使用SSH,有几个Java客户端库可供选择。

或者,您可以编写本机代码以使用Windows API来完成工作(Win32确实有方法和手段至少可以访问以前未使用' net use'来安装的CIFS资源),然后编写JNI代码以获取本机代码。

答案 1 :(得分:0)

在共享上打开文件。我的经验是,当文件构造函数成功并且还成功创建了流时,您可以读取该文件。