powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / Создание своего ftp-клиента на java
5 сообщений из 5, страница 1 из 1
Создание своего ftp-клиента на java
    #38149154
Philip_Stubborn
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Снова всем привет.

У меня есть вот такой код
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
84.
85.
86.
87.
88.
89.
90.
91.
92.
93.
94.
95.
96.
97.
98.
99.
100.
101.
102.
103.
104.
105.
106.
107.
108.
109.
110.
111.
112.
113.
114.
115.
116.
117.
118.
119.
120.
121.
122.
123.
124.
125.
126.
127.
128.
129.
130.
131.
132.
133.
134.
135.
136.
137.
138.
139.
140.
141.
142.
143.
144.
145.
146.
147.
148.
149.
150.
151.
152.
153.
154.
155.
156.
157.
158.
159.
160.
161.
162.
163.
164.
165.
166.
167.
168.
169.
170.
171.
172.
173.
174.
175.
176.
177.
178.
179.
180.
181.
182.
183.
184.
185.
186.
187.
188.
189.
package JavaDBFReaderTest;

import org.apache.commons.net.ftp.FTPClient;
import java.io.IOException;
import java.io.FileOutputStream;
import java.io.FileInputStream;

public class FTP_Client {
 
 /**
  * Функция для получения списка файлов и папок в папке Folder
  * @param FTPADDR, адрес ФТП сервера
  * @param user, логин к фтп
  * @param Password, пароль к фтп
  * @param Folder, папка где будет производиться поиск
  * @return String[] RESULT, список файлов/папок
  */
 public static String[] GetList(String FTPADDR, String user, String Password,String Folder)
{
 String[] RESULT;
 
 RESULT = null;
 
 FTPClient client = new FTPClient();
 try {
 client.connect(FTPADDR);
 client.login(user, Password);
 client.changeWorkingDirectory(Folder);
 RESULT = client.listNames();
 client.logout();
  } catch (IOException e) {
  e.printStackTrace();
  } finally {
  try {
  client.disconnect();
  } catch (IOException e) {
  e.printStackTrace();
  }
 }
    
 
 return RESULT;
}

/**
 * Upload a file to a FTP server
  * @param FTPADDR, адрес ФТП сервера
  * @param user, логин к фтп
  * @param Password, пароль к фтп
 * @param PathOnFtp, путь к файлу на фтп - например /upload/touch.dat
 * @param FilenameOnLocalMachine, путь к файлу на локальной машине - например C:/somefile.txt
 */
 public static void UploadFileOnFtp(String FTPADDR, String user, String Password,String PathOnFtp, String FilenameOnLocalMachine)
 {
  FTPClient client = new FTPClient();
 
   FileInputStream fis = null;
 
   try {
   client.connect(FTPADDR);
   client.login(user, Password);
 
   //client.changeWorkingDirectory("upload");

   // Create an InputStream of the file to be uploaded

   String filename = FilenameOnLocalMachine;
   fis = new FileInputStream(filename);
 
 
   // Store file to server
   //
   client.storeFile(PathOnFtp, fis);
   client.logout();
   } catch (IOException e) {
   e.printStackTrace();
   } finally {
   try {
   if (fis != null) {
   fis.close();
   }
   client.disconnect();
   } catch (IOException e) {
   e.printStackTrace();
   }
   }
 }
 
 /**
  * Download File from FTP
   * @param FTPADDR, адрес ФТП сервера
   * @param user, логин к фтп
   * @param Password, пароль к фтп
  * @param FullPathToPutFile - полный путь к файлу на локальной машине, куда будем его сохранять
  * @param FilenameOnFTP - имя файла на фтп (функция ищет файл в папке /upload/)
  */
 public static void DownloadFileFromFTP(String FTPADDR, String user, String Password,String FullPathToPutFile, String FilenameOnFTP)
 {
  
  FTPClient client = new FTPClient();
    FileOutputStream fos = null;

    try {
    client.connect(FTPADDR);
    client.login(user, Password);


//       The remote filename to be downloaded.

    String filename = FullPathToPutFile;
    fos = new FileOutputStream(filename);


//       Download file from FTP server

    client.retrieveFile("/upload/"+FilenameOnFTP, fos);
    //
  
    } catch (IOException e) {
    e.printStackTrace();
    } finally {
    try {
    if (fos != null) {
    fos.close();
    }
    client.disconnect();
    } catch (IOException e) {
    e.printStackTrace();
    }
    }

    }
    
    /**
     * Delete File From FTP
    * @param FTPADDR, адрес ФТП сервера
      * @param user, логин к фтп
      * @param Password, пароль к фтп
     * @param Filename, путь к файлу (например /upload/touch.dat)
     */
    
    public static void DeleteFileOnFtp(String FTPADDR, String user, String Password,String Filename)
    {
     FTPClient client = new FTPClient();
     try {
     client.connect(FTPADDR);
     client.login(user, Password);
     
     //
     // Delete file on the FTP server. When the FTP delete complete
     // it returns true.
     //
     String filename = Filename;
     boolean deleted = client.deleteFile(filename);
     if (deleted) {
     System.out.println("File deleted...");
     }
     
     client.logout();
     } catch (IOException e) {
     e.printStackTrace();
     } finally {
     try {
     client.disconnect();
     } catch (IOException e) {
     e.printStackTrace();
     }
    }
    }
  


 public static void main(String[] args) {
  // Использование
  
  DownloadFileFromFTP("127.0.0.1","user","user","C:/touch.dat","touch.dat");
  UploadFileOnFtp("127.0.0.1","user","user","/upload/touch.dat","C:/1.xml");
 
 String[] RESULT = GetList("127.0.0.1","user","user","upload");
 for (int i=0;i<RESULT.length;i++)
  {
   System.out.println("Name = " + RESULT[i]);
  }
 
      DeleteFileOnFtp("127.0.0.1","user","user","/upload/touch.dat");
 
 
 }
}



При запуске получаю вот такие ошибки. Что я делаю не так.
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
java.net.ConnectException: Connection refused: connect
	at java.net.DualStackPlainSocketImpl.connect0(Native Method)
	at java.net.DualStackPlainSocketImpl.socketConnect(Unknown Source)
	at java.net.AbstractPlainSocketImpl.doConnect(Unknown Source)
	at java.net.AbstractPlainSocketImpl.connectToAddress(Unknown Source)
	at java.net.AbstractPlainSocketImpl.connect(Unknown Source)
	at java.net.PlainSocketImpl.connect(Unknown Source)
	at java.net.SocksSocketImpl.connect(Unknown Source)
	at java.net.Socket.connect(Unknown Source)
	at org.apache.commons.net.SocketClient.connect(SocketClient.java:175)
	at org.apache.commons.net.SocketClient.connect(SocketClient.java:196)
	at org.apache.commons.net.SocketClient.connect(SocketClient.java:289)
	at JavaDBFReaderTest.FTP_Client.DownloadFileFromFTP(FTP_Client.java:104)
	at JavaDBFReaderTest.FTP_Client.main(FTP_Client.java:176)
java.net.ConnectException: Connection refused: connect
	at java.net.DualStackPlainSocketImpl.connect0(Native Method)
	at java.net.DualStackPlainSocketImpl.socketConnect(Unknown Source)
	at java.net.AbstractPlainSocketImpl.doConnect(Unknown Source)
	at java.net.AbstractPlainSocketImpl.connectToAddress(Unknown Source)
	at java.net.AbstractPlainSocketImpl.connect(Unknown Source)
	at java.net.PlainSocketImpl.connect(Unknown Source)
	at java.net.SocksSocketImpl.connect(Unknown Source)
	at java.net.Socket.connect(Unknown Source)
	at org.apache.commons.net.SocketClient.connect(SocketClient.java:175)
	at org.apache.commons.net.SocketClient.connect(SocketClient.java:196)
	at org.apache.commons.net.SocketClient.connect(SocketClient.java:289)
	at JavaDBFReaderTest.FTP_Client.UploadFileOnFtp(FTP_Client.java:60)
	at JavaDBFReaderTest.FTP_Client.main(FTP_Client.java:177)
java.net.ConnectException: Connection refused: connect
	at java.net.DualStackPlainSocketImpl.connect0(Native Method)
	at java.net.DualStackPlainSocketImpl.socketConnect(Unknown Source)
	at java.net.AbstractPlainSocketImpl.doConnect(Unknown Source)
	at java.net.AbstractPlainSocketImpl.connectToAddress(Unknown Source)
	at java.net.AbstractPlainSocketImpl.connect(Unknown Source)
	at java.net.PlainSocketImpl.connect(Unknown Source)
	at java.net.SocksSocketImpl.connect(Unknown Source)
	at java.net.Socket.connect(Unknown Source)
	at org.apache.commons.net.SocketClient.connect(SocketClient.java:175)
	at org.apache.commons.net.SocketClient.connect(SocketClient.java:196)
	at org.apache.commons.net.SocketClient.connect(SocketClient.java:289)
	at JavaDBFReaderTest.FTP_Client.GetList(FTP_Client.java:26)
	at JavaDBFReaderTest.FTP_Client.main(FTP_Client.java:179)
Exception in thread "main" java.lang.NullPointerException
	at JavaDBFReaderTest.FTP_Client.main(FTP_Client.java:180)


Библиотеку скачал отсюда
http://commons.apache.org/net/download_net.cgi
...
Рейтинг: 0 / 0
Создание своего ftp-клиента на java
    #38149225
javapecker
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Philip_Stubborn,
начиная снизу, ваш GetList может вернуть null, вы это не учитываете.
...
Рейтинг: 0 / 0
Создание своего ftp-клиента на java
    #38149236
leader
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Philip_Stubborn,

там вполне ясно написано "connection refused"
...
Рейтинг: 0 / 0
Создание своего ftp-клиента на java
    #38149250
Philip_Stubborn
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Прежде чем пользоваться этим кодом мне нужно создать ftp-клиента отдельно?
...
Рейтинг: 0 / 0
Создание своего ftp-клиента на java
    #38150202
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Apache Commons Net -то чем не угодил???
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / Создание своего ftp-клиента на java
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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