Как я могу удалить FTP с Java URLConnection? - PullRequest
1 голос
/ 18 августа 2010

У меня есть простой способ начать работу, но я не могу найти, как сделать удаление? Для справки положенный код:

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 для удаления?

Ответы [ 3 ]

0 голосов
/ 18 августа 2010

Я бы взглянул на commons-net или commons-vfs для Java FTP, здесь вы открываете входной поток файла и читаете его, а Вы хотите отправить команду и получить подтверждение.

0 голосов
/ 18 августа 2010

Я думаю, что URLConnection просто позволяет вам читать данные.
Он реализует некоторые команды протокола FTP, чтобы вы могли получать файлы. Но я не думаю, что есть какой-либо способ незаметно кодировать команду DELETE в URL, чтобы позволить вам делать то, что вы хотите.

Как уже говорили другие: вы должны использовать полнофункциональный FTP-клиент.

0 голосов
/ 18 августа 2010

Исходя из этого обсуждения JavaRanch , я не уверен, что вы можете сделать это, просто изменив URL.Есть ли какая-то особая причина, по которой вы не просто используете библиотечный класс, такой как Apache commons FTPClient ?

...