我想从我的代码JAVA访问远程机器上存在的文件(读取),我需要做什么? 只是机器的IP和文件的位置,或者我还需要其他东西吗?
谢谢
答案 0 :(得分:3)
有一些选择:
通过使用SMB / Samba的“映射”目录到远程计算机,然后您可以使用普通File
类访问该文件。
通过Web服务器,读取访问更容易(如果您需要写访问权限,那么您正在查看类似WebDAV的内容)。这需要在代码中使用HTTP协议。
通过FTP
或SFTP
网络协议访问该文件。这显然需要使用(S)FTP类来访问该文件。
从编码的角度看,第一个选项最简单。
答案 1 :(得分:2)
如果Java代码和远程文件都在Linux机器上,您也可以选择NFS。
Here简要介绍了如何在Ubuntu上使用nfs。
如果您更喜欢FTP / HTTP,您会对Apache commons vfs库感兴趣,它支持许多协议,包括FTP,SFTP,HTTP等。
答案 2 :(得分:1)
首先,您需要在提供文件的远程计算机上提供服务。一旦存在文件服务,您就可以使用其协议与服务进行通信。
假设client-server model,您在远程(服务器)端有多个选择。首先,您可以设计自己的协议,编写服务器,将其部署在远程计算机上并编写一个客户端(使用Java),该客户端将使用设计的协议与服务器通信。但是,可能会使用许多现成的解决方案(协议+服务器+ Java客户端库)。现在想到的三个协议:TFTP,FTP和SMB。
如果您的目标很简单,我建议使用TFTP:UNIX,Windows和Mac OS X都有免费的TFTP服务器,客户端有Apache Commons Net Java库。