1

我有一个Read从 URL 读取文件的 java 程序,如下所示: file://myhost/system.log

在 Windows 上,我使用以下命令:

java Read "file://myhost/system.log"

它完美无瑕。

但是在 Linux 上,当我尝试使用相同的命令时,它给了我这个错误:

Exception in thread "main" java.net.ConnectException: Connection refused
        at java.net.PlainSocketImpl.socketConnect(Native Method)
        at java.net.AbstractPlainSocketImpl.doConnect(Unknown Source)
        at java.net.AbstractPlainSocketImpl.connectToAddress(Unknown Source)
        at java.net.AbstractPlainSocketImpl.connect(Unknown Source)
        at java.net.Socket.connect(Unknown Source)
        at java.net.Socket.connect(Unknown Source)
        at sun.net.ftp.impl.FtpClient.doConnect(Unknown Source)
        at sun.net.ftp.impl.FtpClient.tryConnect(Unknown Source)
        at sun.net.ftp.impl.FtpClient.connect(Unknown Source)
        at sun.net.ftp.impl.FtpClient.connect(Unknown Source)
        at sun.net.www.protocol.ftp.FtpURLConnection.connect(Unknown Source)
        at sun.net.www.protocol.ftp.FtpURLConnection.getInputStream(Unknown Source)
        at java.net.URL.openStream(Unknown Source)
        at read.readInput(ReadHTML.java:53)
        at read.readInput.main(ReadHTML.java:76)

有任何想法吗?

更新:我想我发现了问题: myhost没有安装在 Linux 机器上,因此它无法通过使用连接到它file://...

感谢所有的答案,伙计们!

4

3 回答 3

2

这是因为您的程序(通过file在 Linux 操作系统上使用 URL)正在尝试打开与 URL 中指定的主机的 FTP 连接。FTP连接建立失败。

这可能是由于各种问题。尝试直接用 ftp 连接:

ftp myhost

而且我猜它也会失败。您是否安装并运行了 FTP 服务器?

于 2012-11-15T21:40:17.850 回答
0

可能的原因之一可能是 hosts.allow 没有您的机器的条目。

于 2012-11-15T21:40:45.953 回答
0

我怀疑你只需要第三个/。文件 uris 的正确语法是 file://[path],但 [path] 应该以 / 开头。

于 2012-11-15T21:49:37.117 回答