【发布时间】:2011-05-24 23:42:57
【问题描述】:
我需要使用 java 应用程序读取远程文件,但该文件位于 linux 上的 apache 服务器中。 我尝试使用“\\”,但不像 Windows 那样工作。 我该怎么做?
【问题讨论】:
我需要使用 java 应用程序读取远程文件,但该文件位于 linux 上的 apache 服务器中。 我尝试使用“\\”,但不像 Windows 那样工作。 我该怎么做?
【问题讨论】:
这取决于很多事情。但我们真的不知道你在问什么问题。您是否在问如何通过 HTTP 检索文档?如何从 Linux 进行文件复制?网络共享?
如果文件由网络服务器提供(在 docroot 中),最简单的方法可能是使用上述 URL 类通过 HTTP 请求它。
如果文件不在 webroot 下(即不能指定为http://webserver.name/some/path/to/file),那么您需要使用其他方法。我假设这就是你的意思——你提到了\\,Windows 文件共享 (SMB) 协议前缀。最简单的方法是使用 SSH 和scp/sftp,这可能已经安装在 Linux 机器上——您可能需要启用它,并且您需要登录。然后就像scp user@host:/remote/file/path local/path 一样简单。您可以设置 SSH 密钥以避免密码。
【讨论】:
尝试使用以下格式的网址通过网络浏览器访问您的文件:
http://server-name-or-ip/path/filename
当您在浏览器中看到您的文件时,也可以使用 Java 应用程序中的该 URL。
【讨论】:
您需要使用 URL 类: http://download.oracle.com/javase/1.4.2/docs/api/java/net/URL.html
这是从 URL 读取文件的标准方式。
【讨论】: