![]() |
Модераторы: LSD, AntonSaburov |
![]() ![]() ![]() |
|
Wanderer2019 |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 937 Регистрация: 3.12.2004 Где: Санкт-Петербург/П рага Репутация: нет Всего: 17 |
Здравствуйте еще разок!
Не знает ли кто нибудь можно ли считать содержимое файла на ftp не копируя его на локальный диск? слышал как то можно создать BufferedReader на удаленный файл, но никак не получается!!! S--O--S .... S--O--S ... S--O--S ... S--O--S ![]() P.S. Зарегистрировался! ![]() |
|||
|
||||
Domestic Cat |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5452 Регистрация: 3.5.2004 Где: Dallas, US Репутация: 1 Всего: 172 |
Если ты сам не сохранаешь файл, то на диске он не появится. Очевидно для чтения из ftp используется к-л InputStream, и если этот стрим не пишет на диск, то файл собственно и находится в памяти.
Постарайся сформулировать вопрос почетче, проблема в создании стрима или в чем-то еще? -------------------- |
|||
|
||||
igon |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 327 Регистрация: 30.10.2004 Репутация: 2 Всего: 21 |
Во второй ссылке, которую давал DomesticCat в топике, так преждевременно тобой покинутом (вместе с этим вопросом
![]()
А уж из bis методом read() можешь читать и сохранять куда угодно -------------------- Хотите поговорить об этом? |
|||
|
||||
Domestic Cat |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5452 Регистрация: 3.5.2004 Где: Dallas, US Репутация: 1 Всего: 172 |
Перекинул я, тк. по правилам - один вопрос на одну тему ![]() -------------------- |
|||
|
||||
Wanderer2019 |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 937 Регистрация: 3.12.2004 Где: Санкт-Петербург/П рага Репутация: нет Всего: 17 |
OKay! Предположим имеется некий ftp Сервер на котором в дериктории dir находятся текстовые файлы, иформация в которых меня и интересует. Я знаю имя файла. Коннект к ftp средствами commons net. Вопрос: как считать информацию из этого файла (прямо с ftp, не делая копию на локальном диске)? или это не возможно и объязательно нужно копировать файл на HDD? если у кого есть какие нибудь примеры!!!! Всем спасибо!
Добавлено @ 14:58 да забыл сказать URL не совсем подходит т.к. на ftp стоит проверка подлинности пользователя! или можно и с помощью URLConnection входить по паролю и логину? |
|||
|
||||
igon |
|
||||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 327 Регистрация: 30.10.2004 Репутация: 2 Всего: 21 |
За повторение вопроса - спасибо
![]() После моего ответа проблема осталась? ![]()
в
разве не логин и пароль? -------------------- Хотите поговорить об этом? |
||||
|
|||||
Wanderer2019 |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 937 Регистрация: 3.12.2004 Где: Санкт-Петербург/П рага Репутация: нет Всего: 17 |
Вариант конечно не плохой. Спасибо! А возможно сделать что либо подобное через FTPClient?
|
|||
|
||||
igon |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 327 Регистрация: 30.10.2004 Репутация: 2 Всего: 21 |
FTPClient не входит в SDK 1.4, которым я пользуюсь - так что, увы...
![]() Посмотри здесь: http://www.enterprisedt.com/downloads/ftp/.../FTPClient.html (после беглого просмотра) Похоже, это подойдет:
Это сообщение отредактировал(а) igon - 5.12.2004, 21:44 -------------------- Хотите поговорить об этом? |
|||
|
||||
Aver91 |
|
|||
Новичок Профиль Группа: Участник Сообщений: 22 Регистрация: 8.5.2009 Репутация: нет Всего: нет |
Всем добрый вечер, решил задать небольшие вопросы касаемо подключений к ftp здесь, чтобы не плодить одинаковых тем.
суть проблемы: я создаю подключение к серверу для общения с помощью first. в таком случае сетевая карта уже занята подключением. как сделать 2ое подключение? есть ли смысл использовать URL? ЗЫ: в программе нельзя использовать дополнительные модули типа org.apache.commons.net.ftp работаю в среде eclipse для J2SE Это сообщение отредактировал(а) Aver91 - 25.12.2009, 16:40 |
|||
|
||||
LSD |
|
||||
![]() Leprechaun Software Developer ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 15718 Регистрация: 24.3.2004 Где: Dublin Репутация: 19 Всего: 538 |
Что-то я в принципе не вижу никаких commons-net.
Сетевая карта, может одновременно обслуживать гораздо больше, чем одно подключение. И вообще, почему у тебя второй поток подключается на 20 порт? -------------------- Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it. |
||||
|
|||||
Aver91 |
|
|||
Новичок Профиль Группа: Участник Сообщений: 22 Регистрация: 8.5.2009 Репутация: нет Всего: нет |
ну вот я собственно и не добавил их. написал за тем, чтобы не предлагали ссылки на подобные модули порт я просто так ему задал. с пассивным режимом я плохо понимаю, поэтому решил делать передачу в активном. на 20 порт сервер дает положительный ответ когда посылаю ему команду PORT Добавлено через 12 минут и 1 секунду хотя сейчас я пассивный попробовал и разобрался как порт взять из ответа сервера. но суть проблемы остается. у меня второе подключение не создается |
|||
|
||||
Egik2 |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 302 Регистрация: 29.7.2008 Где: Агудзера Репутация: 1 Всего: 11 |
Wanderer2019, ты sun.net.ftp.FTPClient имел в виду? Тогда простейший пример кода:
Это сообщение отредактировал(а) Egik2 - 25.12.2009, 21:59 -------------------- Три великие добродетели программиста: лень, нетерпение и самомнение (Larry Wall) a-nav.com developer-blog.ru world-poetry.org |
|||
|
||||
ICEMAN3141592 |
|
|||
Новичок Профиль Группа: Участник Сообщений: 33 Регистрация: 29.12.2009 Репутация: нет Всего: нет |
Привет всем, вопрос туда же... Есть код (отрывочек)
String host = "ftp.yandex.ru"; String user = "anonymous"; String password = "2f9781da46"; System.out.println("Connecting to host " + host); m_client = new FtpClient(); m_client.openServer(host); System.out.println("Connecting to host " + host); m_client.setConnectTimeout(2000000); m_client.login(user, password); System.out.println("User " + user + " login OK"); getFileSize(m_client, "1.jpg"); System.out.println(m_client.welcomeMsg); m_client.cd(sDir); System.out.println("Directory: " + sDir); m_client.binary(); System.out.println("Success."); --------------------------------------------------------------------------------------------------------------------------------------------------- так работает, а вот host = "ftp.filehoster.ru"; user = "user219611"; password = "2f9781da46"; то уже нет... пишет, что время подсоединения вышло, но я жчерез проводник захожу и все нормально, хочу скачать файл 1.jpg и не фига... Пожалуйста |
|||
|
||||
Aver91 |
|
|||
Новичок Профиль Группа: Участник Сообщений: 22 Регистрация: 8.5.2009 Репутация: нет Всего: нет |
вопрос с подключением 2-го сокета решен. возник другой: как лучше информацию из входящего потока в байтовом виде записать в файл? через байтовый массив? и считывать например из потока по 200 байт и писать их в файл?
|
|||
|
||||
LSD |
|
|||
![]() Leprechaun Software Developer ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 15718 Регистрация: 24.3.2004 Где: Dublin Репутация: 19 Всего: 538 |
Лучше по 4 -16 килобайт. -------------------- Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it. |
|||
|
||||
Aver91 |
|
|||
Новичок Профиль Группа: Участник Сообщений: 22 Регистрация: 8.5.2009 Репутация: нет Всего: нет |
LSD, спасибо за помощь, решил обойтись без массива и писать напрямую в файл. записывание байтов прерывается, когда файл достигает размера, который выслал сервер командой SIZE. проблема вроде бы как решена
|
|||
|
||||
gochu |
|
|||
Новичок Профиль Группа: Участник Сообщений: 1 Регистрация: 27.11.2010 Репутация: нет Всего: нет |
Доброго времени суток!
У меня следующая проблема. На ftp-сервере лежит текстовый файл, суть плоская база даный, состоящаю из строк. Каждая строка имеет 8 (первых) однохначноиденетифицирующих ее симовлов. ... 00000576 06 140 12 Disboscatore 32 00002680 06 140 3 Disboscatore 32 00004285 06 140 26 Disboscatore 32 00004315 06 100 5 Disboscatore 32 00004380 06 140 15 Disboscatore 32 ... Задача: по введенным 8 символам, провести поиск и выведение на екран строки, где этот код и находиться. Проблема.... telnet не копирует надлежащим образом символы перевода строки на hdd, что, на мой взгяд, есть первым этапом решения задачи. Вторым, я надеюсь, после решеиня первой, будет поиск по скопированому тестовику строки и ее вывод,
Буду благодарен за помощь Это сообщение отредактировал(а) gochu - 1.12.2010, 16:14 |
|||
|
||||
![]() ![]() ![]() |
Правила форума "Java" | |
|
Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Java: Работа с сетью | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |