Загрузка определенного файла в папку (FTP) в Java - PullRequest
0 голосов
/ 04 мая 2018

Добрый день,

Мне просто нужна ваша помощь в отношении моей программы .. в основном моя программа предназначена для передачи файлов или копирования файлов с локального компьютера и передачи их на удаленный сайт (FTP) Вот мой код:

FTPClient destFtpClient = new FTPClient();
                    destFtpClient.connect(destIPAddressCom, intPort);
                    destFtpClient.login(destFtpID, destFtpPwd);
                    destFtpClient.enterLocalPassiveMode();

                    destFtpClient.setFileType(FTPClient.BINARY_FILE_TYPE);

                    String newRoot = recipeRoot.toString();
                    File[] transFiles = new File(newRoot).listFiles();
                        for(File file : transFiles) {
                            for(int i = 0; i < transFiles.length; i++){
                            File destFile = new File(destTest); //destination path
                            //File newDestFile = new File(destFile +File.separator+file.getName()); // destination path with the file
                            FileInputStream fisFile = new FileInputStream(destFile);
                            destFtpClient.storeFile(file.getName(), fisFile);
                            fisFile.close();
                        }
                    }

У меня ошибка:

java.io.FileNotFoundException: \ Test (указанный путь неверен)

но папка назначения - Test это конкретная папка /Test/file Я надеюсь, что вы можете помочь относительно этого. Заранее спасибо!

EDITED

Я попытался использовать то, что сказал @Whome, и при первом запуске оно работает, а затем внезапно после попытки перезапуска не работает и получило ту же ошибку выше.

destFtpClient.changeWorkingDirectory("//Test");
                                destFtpClient.makeDirectory("//Test");
                                File destFile = new File(destTest);
                                FileInputStream fisFile = new FileInputStream(p1dest);
                                destFtpClient.storeFile(file.getName(), fisFile);

1 Ответ

0 голосов
/ 04 мая 2018

Попробуйте использовать ftpclient.changeWorkingDirectory("/Test") перед загрузкой файлов и, возможно, ведущий makeDirectory("/Test"). Почему у вас есть циклы foreach и for (idx)? После изменения рабочего каталога загрузите его, используя имя файла без полного пути.

...