Сделать файл пустым / очистить на FTP-сервере после загрузки в Java - PullRequest
0 голосов
/ 21 сентября 2018

Я написал следующий метод с Java, который загружает файл для меня с Сервера на мой локальный компьютер.

public void downloadcsv() {

    String server = "servername.host";
    int port = 21;
    String user = "username";
    String pass = "password";

    FTPClient ftpClient = new FTPClient();
    try {

        ftpClient.connect(server, port);
        ftpClient.login(user, pass);
        ftpClient.enterLocalPassiveMode();
        ftpClient.setFileType(FTP.BINARY_FILE_TYPE);

        String remoteFile = "/serverpath/daten.csv";
        File downloadFile = new File("localpath/daten.csv");
        OutputStream outputStream = new BufferedOutputStream(new FileOutputStream(downloadFile));

        boolean success = ftpClient.retrieveFile(remoteFile, outputStream);

        outputStream.close();

        if (success) {
            System.out.println("File has been downloaded successfully.");
        }

    } catch (IOException ex) {

        System.out.println("Error: " + ex.getMessage());
        ex.printStackTrace();

    } finally {
        try {
            if (ftpClient.isConnected()) {
                ftpClient.logout();
                ftpClient.disconnect();
            }
        } catch (IOException ex) {
            ex.printStackTrace();
        }
    }
}

Пока все хорошо.Теперь я хочу удалить содержимое файла на сервере.

Только содержимое, потому что мне нужен файл для записи в него с помощью другой программы.

Существует ли быстрый способсделать это во время или после загрузки?

Теперь я просто удаляю файл другим методом и создаю новый файл.

Но это кажется неэффективным.Спасибо за помощь.

1 Ответ

0 голосов
/ 21 сентября 2018

Загрузите пустой поток, чтобы очистить содержимое файла:

ftpClient.storeFile("/serverpath/daten.csv", new ByteArrayInputStream(new byte[0]));

На самом деле я считаю, что вы, должно быть, уже делаете что-то подобное, когда вы "создаете новый файл" .Так как нет другого способа «создать файл» на FTP-сервере.Просто нет никакой причины «удалять файл» , прежде чем перезаписать его.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...