Java在单独的机器上写/读文件的最佳方式?
我们有一个运行在Sun Solaris上的Java应用程序服务器。我们现在需要能够在运行WindowsXP的单独机器上写入文件和从中读取文件。这两台机器由同一防火墙内的两个独立组管理。如果更简单的话,我们可以使用Java将文件写入Solaris,然后使用一些第三方程序将文件移动到Windows机器上 处理这个问题的最佳方法是什么Java在单独的机器上写/读文件的最佳方式?,java,windows,solaris,admin,Java,Windows,Solaris,Admin,我们有一个运行在Sun Solaris上的Java应用程序服务器。我们现在需要能够在运行WindowsXP的单独机器上写入文件和从中读取文件。这两台机器由同一防火墙内的两个独立组管理。如果更简单的话,我们可以使用Java将文件写入Solaris,然后使用一些第三方程序将文件移动到Windows机器上 处理这个问题的最佳方法是什么 还有一条信息:我们的团队管理Solaris机器,如果需要,我们可以向该机器添加软件。但是,试图让另一个小组向Windows机器添加任何软件将是一个巨大的痛苦。因此,我更
还有一条信息:我们的团队管理Solaris机器,如果需要,我们可以向该机器添加软件。但是,试图让另一个小组向Windows机器添加任何软件将是一个巨大的痛苦。因此,我更喜欢不需要在Windows计算机上安装任何东西的解决方案。使用类似以下工具同步计算机的数据存储/文件系统(文件夹)
如果不想更改应用程序,可以在Solaris系统的操作系统级别上使用Windows XP系统上的文件,这样应用程序就可以像处理本地文件一样处理XP系统上的文件 您可以通过两种方式执行此操作:
但是,这两个选项都需要在其中一个系统上安装额外的软件,因此可能不实用。最简单的方法可能是在windows计算机上设置共享,并使用Samba在Solaris计算机上安装共享。然后,您的Java应用程序将看到该目录,就像文件系统上的任何其他本地目录一样。安全的FTP服务器/客户端和我在机器之间移动文件的第一选择是
scp
(通过SSL进行远程文件复制)。中有一个Windows版本。大概有一个Java库可以在某个地方执行scp。只是为了补充这个答案:您可以将JCIFS库用作SMB客户机,而不需要Samba(但是,我相信JCIFS与Samba项目相关)。使用Samba本身的好处是,应用程序不必知道它。您可能正在保存到本地位置或网络共享。对于应用程序来说,它是完全透明的。