powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / Как создать файл сразу на ftp?
6 сообщений из 6, страница 1 из 1
Как создать файл сразу на ftp?
    #39503408
LittleLoya
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Доброго времени суток всем. Подскажите, пожалуйста, как такое организовать? Есть некий StringBuilder и его необходимо записать в файл, а сам файл сразу на ftp, минуя запись на диск. Причём если на ftp файл с таким же именем уже есть, то желательно текст дописать в конец (причём желательно не читать его перед этим, если такое конечно возможно).
Код: java
1.
2.
3.
FTPClient ftp = new FTPClient();
ftp.storeFile() // просит уже готовый файл
File file = new File(fileName); // просит адрес файла


Что-то не соображу, как тут поступить. Если возможно, то лучше пример.

Заранее всем спасибо.
...
Рейтинг: 0 / 0
Как создать файл сразу на ftp?
    #39503458
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Apache Commons Net
FTPClientExample - как и ожидалось, есть пример записи в файл на FTP-сервере из InputStream.
Про ByteArrayInputStream читаем в Java SE API .
...
Рейтинг: 0 / 0
Как создать файл сразу на ftp?
    #39503654
LittleLoya
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Basil A. Sidorov, спасибо большое, после долгих мучений вроде разобралась, сделала так:
Код: java
1.
2.
            ByteArrayInputStream bais = new ByteArrayInputStream(CopyPictures.txtLog.toString().getBytes());
            ftpClient.storeFile("logData.txt", bais);



Можно ещё один маленький вопрос не по тебе? Как добавить в StringBuilder символ переноса строки? Делаю так:
Код: java
1.
CopyPictures.txtLog.append("Записан файл " + files.get(i).getName() + System.getProperty("line.separator"));


Но почему-то в файле всё в одну строку. Что не так делаю?

Заранее спасибо!
...
Рейтинг: 0 / 0
Как создать файл сразу на ftp?
    #39503690
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
LittleLoyaКак добавить в StringBuilder символ переноса строки? Делаю так:
Код: java
1.
CopyPictures.txtLog.append("Записан файл " + files.get(i).getName() + System.getProperty("line.separator"));

System.lineSeparator() ?
Ещё есть приколы "текстовый/бинарный режим передачи" и "смотря чем смотреть". Чтобы не сомневаться - пользуйтесь инструментом, который умеет отображать шестнадцатиричный дамп.
...
Рейтинг: 0 / 0
Как создать файл сразу на ftp?
    #39503707
no56892
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В данном случае нет смысла в system.line separator и подобных, так как файл хранится на фтп, то скорее всего писатель и читатель будут на разных платформах. \n лучшая идея. А так да смотря чем читать)
...
Рейтинг: 0 / 0
Как создать файл сразу на ftp?
    #39504210
LittleLoya
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Всем спасибо! Действительно, открываю в блокноте - всё в одну строку, открываю в WordPad-е, разделение на строки есть, но вместо русских букв - кракозябры.

А можно ещё один маленький вопросик, опять не по теме? Дату изменения файла на ftp показывает почему-то на 3 часа меньше, чем текущая системная дата, из-за этого считает, что файл устарел. Понимаю, что это как-то связано с часовыми поясами, но не знаю, как исправить, не привязываясь именно к трём часам. Дату получаю так:
Код: java
1.
2.
3.
    public Date getFileDate(int index){
        return new Date(listFTPFiles.get(index).getTimestamp().getTimeInMillis());
    }


или так:
Код: java
1.
2.
3.
    public long getFileDateMilliseconds(int index){
        return listFTPFiles.get(index).getTimestamp().getTimeInMillis();
    }


Пробовала принудительно время после записи устанавливать ftpClient.setModificationTime(), но он не срабатывает. Ошибку не выдаёт, но и время не меняется у файла. Наверное из-за этого:
Issue the FTP MFMT command ( not supported by all servers ) which sets the last modified time of a file.

Заранее всем спасибо.
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / Как создать файл сразу на ftp?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]