【问题标题】:How do I do an FTP delete with Java URLConnection?如何使用 Java URLConnection 进行 FTP 删除?
【发布时间】:2010-08-18 16:07:36
【问题描述】:

我有一个简单的 put 并开始工作,但似乎找不到如何进行删除?供参考,put代码为:

BufferedInputStream inStream = null;
FileOutputStream outStream = null;

try {
    final String ftpConnectInfo = "ftp://"+user+":"+pass+"@"+destHost+"/"+destFilename+";type=i";

    LOGGER.info("Connection String: {}", ftpConnectInfo);

    URL url = new URL(ftpConnectInfo);

    URLConnection con = url.openConnection();
    inStream = new BufferedInputStream(con.getInputStream());
    outStream = new FileOutputStream(origFilename);

    int i = 0;
    byte[] bytesIn = new byte[1024];
    while ((i = inStream.read(bytesIn)) >= 0) {
         outStream.write(bytesIn, 0, i);
    }
}

有没有办法修改 URL 以进行删除?

【问题讨论】:

    标签: java url ftp urlconnection delete-file


    【解决方案1】:

    基于this discussion on JavaRanch,我不确定您是否可以仅通过修改 URL 来做到这一点。有什么特别的原因为什么您不只是使用像 Apache commons FTPClient 这样的库类吗?

    【讨论】:

    • 谢谢。我使用 Apache commons FTPClient 重新编写了它,它更简单。感谢您的提示!
    【解决方案2】:

    对于 Java FTP,我会查看 commons-netcommons-vfs,您在这里所做的是打开文件上的输入流并读取它,同时您想发送命令并获得确认。

    【讨论】:

    • 是的,commons FTPClient 更适合我正在尝试做的事情。谢谢!
    【解决方案3】:

    我认为 URLConnection 只是应该允许您读取数据。
    它实现了一些 FTP 协议的命令来允许你获取文件。但我不认为有任何方法可以偷偷地在 URL 中编码 DELETE 命令来让你做你想做的事。

    正如其他人所说:您必须使用功能齐全的 FTP 客户端。

    【讨论】:

    • 感谢您的澄清!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-02-14
    • 1970-01-01
    • 2011-10-11
    • 1970-01-01
    • 2018-10-13
    • 1970-01-01
    • 2012-12-21
    相关资源
    最近更新 更多