Java 在单独的机器上写入/读取文件的最佳方式?
我们有一个在 Sun Solaris 上运行的 Java 应用程序服务器。 现在,我们需要能够向运行 WindowsXP 的单独计算机写入文件和从该计算机读取文件。 这两台计算机由同一防火墙内的 2 个独立组管理。 如果更容易,我们可以使用 Java 将文件写入 Solaris,然后使用某些第 3 方程序将文件移入 Windows 计算机或从 Windows 计算机移出文件。
处理这个问题的最佳方法是什么?
再提供一条信息:我们的小组管理 Solaris 计算机,如有必要,我们可以向该计算机添加软件。 但试图让其他小组向 Windows 计算机添加任何软件将是一个巨大的痛苦。 所以我更喜欢一个不需要在 Windows 机器上安装任何东西的解决方案。
We have a Java application server running on Sun Solaris. We now need to be able to write files and read files to/from a separate machine, which is running WindowsXP. These 2 machines are administered by 2 separate groups within the same firewall. If it is easier, we could use Java to write the file to Solaris and then use some 3rd party program to move the files to/from the Windows machine.
What is the best way to handle this?
Just one more piece of information: our group administers the Solaris machine and we could add software to that machine if necessary. But trying to get the other group to add any software to the Windows machine would be a major pain. So I would prefer a solution that does not require installing anything on the Windows machine.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(5)
最简单的方法可能是在 Windows 计算机上设置共享并使用 Samba 将其挂载到 Solaris 计算机上。 然后,您的 Java 应用程序将像文件系统上的任何其他本地目录一样看到该目录。
Probably the simplest way would be to set up a share on the windows machine and use Samba to mount that on the Solaris machine. Then your Java app would see that directory just like any other local directory on the filesystem.
使用 Rsync 等工具同步计算机的数据存储/文件系统(文件夹)
Synchronise the datastores/filesystem (folder) of the machines using a tool like Rsync
如果您不想更改应用程序,则可以在操作系统级别使 Windows XP 系统上的文件在 Solaris 系统上可用,这样您的应用程序就可以像使用本地文件一样使用 XP 系统上的文件。
您可以通过两种方式执行此操作:
然而,这两个选项都需要在其中一个系统上安装额外的软件,因此可能不切实际。
If you didn't want to change your application you could make the files on the Windows XP system available on the Solaris system at the OS level, so your application can work with the files on XP system as if they were local files.
You can do this in two ways:
However, both of these options require additional software installation on one of the systems so may not be practical.
安全的 FTP 服务器/客户端和 Apache Commons VFS
Secured FTP server/client and Apache Commons VFS
我在机器之间移动文件的首选是
scp
(通过 SSL 进行远程文件复制)。 PuTTY 中有一个 Windows 版本。 大概有一个 Java 库可以在某处执行 scp 。My first choice for moving files between machines is
scp
(remote file copy over SSL). There's a Windows version in PuTTY. Presumably there's a Java library to perform scp somewhere.