sách gpt4 ăn đã đi

Công nghệ JAVA thực hiện upload và download file lên máy chủ FTP (hoàn thành)

In lại Tác giả: qq735679552 Thời gian cập nhật: 29-09-2022 22:32:09 30 4
mua khóa gpt4 giày nike

CFSDN nhấn mạnh vào giá trị tạo ra nguồn mở và chúng tôi cam kết xây dựng nền tảng chia sẻ tài nguyên để mọi nhân viên CNTT có thể tìm thấy thế giới tuyệt vời của bạn tại đây.

Bài viết trên blog CFSDN công nghệ JAVA này thực hiện upload và download file lên máy chủ FTP (đầy đủ) được tác giả sưu tầm và biên soạn. Nếu các bạn quan tâm tới bài viết này thì nhớ like nhé.

Vui lòng xem bên dưới để biết chi tiết cụ thể:

Đối với các ứng dụng sử dụng file để trao đổi dữ liệu, sử dụng máy chủ FTP là một lựa chọn tốt. Bài viết này sử dụng Apache Jakarta Commons Net (commons-net-3.3.jar) để thực hiện các thao tác tải lên/tải xuống/xóa tệp trên máy chủ FTP dựa trên máy chủ FileZilla Server.

Để biết quy trình xây dựng và cấu hình chi tiết của máy chủ FileZilla Server, vui lòng xem hướng dẫn cài đặt và cấu hình FileZilla Server để biết chi tiết. Trước đây một số bạn cho biết khi upload file dung lượng lớn (file trên vài trăm M) lên server FTP sẽ xảy ra hiện tượng không đổi tên được. Tuy nhiên, cá nhân mình test thử thì không hề có hiện tượng đó khi upload file 2G lên FileZilla Server. Bạn bè có thể yên tâm sử dụng mã này.

?
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
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
Tiện ích Java
 
bưu kiện com.favccxx.favsoft.util;
 
nhập khẩu java.io.File;
nhập khẩu java.io.FileInputStream;
nhập khẩu java.io.FileOutputStream;
nhập khẩu java.io.IOException;
nhập khẩu java.io.InputStream;
nhập khẩu java.io.OutputStream;
 
nhập khẩu org.apache.commons.net.ftp.FTPClient;
nhập khẩu org.apache.commons.net.ftp.FTPFile;
nhập khẩu org.apache.commons.net.ftp.FTPReply;
 
công cộng lớp học FavFTPUtil {
 
  /**
  * Tải tệp lên (có sẵn cho lớp Hành động/Bộ điều khiển)
  * @param tên máy chủ Địa chỉ máy chủ FTP
  * Cổng @param Số cổng máy chủ FTP
  * @param tên người dùng Tài khoản đăng nhập FTP
  * Mật khẩu @param Mật khẩu đăng nhập FTP
  * @param tên đường dẫn Thư mục lưu trữ máy chủ FTP
  * @param fileName Tên file sau khi upload lên máy chủ FTP
  * Luồng tệp đầu vào @param inputStream
  * @trở lại
  */
  công cộng tĩnh Boolean uploadFile(Chuỗi tên máy chủ, số nguyên cổng, Chuỗi tên người dùng, Chuỗi mật khẩu, Chuỗi tên đường dẫn, Chuỗi tên tệp, InputStream inputStream){
  Boolean cờ = SAI ;
  FTPClient ftpClient = mới Máy khách FTP();
  ftpClient.setControlEncoding( "UTF-8" );
  thử {
  //Kết nối với máy chủ FTP
  ftpClient.connect(tên máy chủ, cổng);
  // Đăng nhập vào máy chủ FTP
  ftpClient.login(tên người dùng, mật khẩu);
  // Có đăng nhập thành công vào máy chủ FTP hay không
  số nguyên replyCode = ftpClient.getReplyCode();
  nếu như (!FTPReply.isPositiveCompletion(mã trả lời)){
  trở lại lá cờ;
  }
 
  ftpClient.setFileType(FTPClient.BINARY_FILE_TYPE);
  ftpClient.makeDirectory(tên đường dẫn);
  ftpClient.changeWorkingDirectory(tên đường dẫn);
  ftpClient.storeFile(tên tệp, luồng đầu vào);
  inputStream. đóng();
  ftpClient. đăng xuất();
  cờ = ĐÚNG VẬY ;
  } nắm lấy (Ngoại lệ e) {
  e.printStackTrace();
  } Cuối cùng {
  nếu như (ftpClient.isConnected()){
  thử {
  ftpClient. ngắt kết nối();
  } nắm lấy (IOException e) {
  e.printStackTrace();
  }
  }
  }
  trở lại lá cờ;
  }
 
 
  /**
  * Tải tệp lên (tệp có thể được đổi tên)
  * @param tên máy chủ Địa chỉ máy chủ FTP
  * Cổng @param Số cổng máy chủ FTP
  * @param tên người dùng Tài khoản đăng nhập FTP
  * Mật khẩu @param Mật khẩu đăng nhập FTP
  * @param tên đường dẫn Thư mục lưu trữ máy chủ FTP
  * @param filename Tên file sau khi upload lên máy chủ FTP
  * @param Originfilename Tên file cần upload (địa chỉ tuyệt đối)
  * @trở lại
  */
  công cộng tĩnh Boolean uploadFileFromProduction(String tên máy chủ, số nguyên cổng, Chuỗi tên người dùng, Chuỗi mật khẩu, Chuỗi tên đường dẫn, Chuỗi tên tệp, Chuỗi tên tệp gốc){
  Boolean cờ = SAI ;
  thử {
  Dòng đầu vào Dòng đầu vào = mới Dòng đầu vào tệp mới Tệp (tên tệp gốc));
  flag = uploadFile(tên máy chủ, cổng, tên người dùng, mật khẩu, tên đường dẫn, tên tệp, inputStream);
  } nắm lấy (Ngoại lệ e) {
  e.printStackTrace();
  }
  trở lại lá cờ;
  }
 
  /**
  * Tải file lên (không thể đổi tên file)
  * @param tên máy chủ Địa chỉ máy chủ FTP
  * Cổng @param Số cổng máy chủ FTP
  * @param tên người dùng Tài khoản đăng nhập FTP
  * Mật khẩu @param Mật khẩu đăng nhập FTP
  * @param tên đường dẫn Thư mục lưu trữ máy chủ FTP
  * @param Originfilename Tên file cần upload (địa chỉ tuyệt đối)
  * @trở lại
  */
  công cộng tĩnh Boolean uploadFileFromProduction(String tên máy chủ, số nguyên cổng, Chuỗi tên người dùng, Chuỗi mật khẩu, Chuỗi tên đường dẫn, Chuỗi tên tệp gốc){
  Boolean cờ = SAI ;
  thử {
  Chuỗi fileName = mới File(tên tệp gốc).getName();
  Dòng đầu vào Dòng đầu vào = mới Dòng đầu vào tệp mới Tệp (tên tệp gốc));
  flag = uploadFile(tên máy chủ, cổng, tên người dùng, mật khẩu, tên đường dẫn, fileName, inputStream);
  } nắm lấy (Ngoại lệ e) {
  e.printStackTrace();
  }
  trở lại lá cờ;
  }
 
 
  /**
  * Xóa tập tin
  * @param tên máy chủ Địa chỉ máy chủ FTP
  * Cổng @param Số cổng máy chủ FTP
  * @param tên người dùng Tài khoản đăng nhập FTP
  * Mật khẩu @param Mật khẩu đăng nhập FTP
  * @param tên đường dẫn Thư mục lưu trữ máy chủ FTP
  * @param filename Tên của file cần xóa
  * @trở lại
  */
  công cộng tĩnh Boolean deleteFile(Chuỗi tên máy chủ, số nguyên cổng, Chuỗi tên người dùng, Chuỗi mật khẩu, Chuỗi tên đường dẫn, Chuỗi tên tệp){
  Boolean cờ = SAI ;
  FTPClient ftpClient = mới Máy khách FTP();
  thử {
  //Kết nối với máy chủ FTP
  ftpClient.connect(tên máy chủ, cổng);
  // Đăng nhập vào máy chủ FTP
  ftpClient.login(tên người dùng, mật khẩu);
  // Kiểm tra xem máy chủ FTP đã đăng nhập thành công chưa
  số nguyên replyCode = ftpClient.getReplyCode();
  nếu như (!FTPReply.isPositiveCompletion(mã trả lời)){
  trở lại lá cờ;
  }
  //Chuyển thư mục FTP
  ftpClient.changeWorkingDirectory(tên đường dẫn);
  ftpClient.dele(tên tệp);
  ftpClient. đăng xuất();
  cờ = ĐÚNG VẬY ;
  } nắm lấy (Ngoại lệ e) {
  e.printStackTrace();
  } Cuối cùng {
  nếu như (ftpClient.isConnected()){
  thử {
  ftpClient. đăng xuất();
  } nắm lấy (IOException e) {
 
  }
  }
  }
  trở lại lá cờ;
  }
 
  /**
  * Tải tập tin
  * @param tên máy chủ Địa chỉ máy chủ FTP
  * Cổng @param Số cổng máy chủ FTP
  * @param tên người dùng Tài khoản đăng nhập FTP
  * Mật khẩu @param Mật khẩu đăng nhập FTP
  * @param tên đường dẫn Thư mục tệp máy chủ FTP
  * @param tên tệp tên tệp
  * @param đường dẫn tệp localpath sau khi tải xuống
  * @trở lại
  */
  công cộng tĩnh Boolean downloadFile(Chuỗi tên máy chủ, số nguyên cổng, Chuỗi tên người dùng, Chuỗi mật khẩu, Chuỗi tên đường dẫn, Chuỗi tên tệp, Chuỗi đường dẫn cục bộ){
  Boolean cờ = SAI ;
  FTPClient ftpClient = mới Máy khách FTP();
  thử {
  //Kết nối với máy chủ FTP
  ftpClient.connect(tên máy chủ, cổng);
  // Đăng nhập vào máy chủ FTP
  ftpClient.login(tên người dùng, mật khẩu);
  // Kiểm tra xem máy chủ FTP đã đăng nhập thành công chưa
  số nguyên replyCode = ftpClient.getReplyCode();
  nếu như (!FTPReply.isPositiveCompletion(mã trả lời)){
  trở lại lá cờ;
  }
  //Chuyển thư mục FTP
  ftpClient.changeWorkingDirectory(tên đường dẫn);
  FTPFile[] ftpFiles = ftpClient.listFiles();
  (Tệp FTPFile: ftpFiles){
  nếu như (tên tệp. bằng IgnoreCase(tệp.getName())){
  Tập tin localFile = mới Tệp(đường dẫn cục bộ + "/" + file.getName());
  OutputStream os = mới FileOutputStream(tệp cục bộ);
  ftpClient.retrieveFile(file.getName(), os);
  os. đóng();
  }
  }
  ftpClient. đăng xuất();
  cờ = ĐÚNG VẬY ;
  } nắm lấy (Ngoại lệ e) {
  e.printStackTrace();
  } Cuối cùng {
  nếu như (ftpClient.isConnected()){
  thử {
  ftpClient. đăng xuất();
  } nắm lấy (IOException e) {
 
  }
  }
  }
  trở lại lá cờ;
  }
 
}
FavFTPUtilTest.java
 
bưu kiện com.favccxx.favsoft.util;
 
nhập khẩu junit.framework.TestCase;
 
công cộng lớp học Yêu thíchFTPTest mở rộng Trường hợp kiểm tra {
 
  công cộng vô hiệu testFavFTPUtil(){
  Chuỗi tên máy chủ = "127.0.0.1" ;
  số nguyên cổng = 21 ;
  Chuỗi tên người dùng = "việc kinh doanh" ;
  Chuỗi mật khẩu = "việc kinh doanh" ;
  Đường dẫn chuỗi = "kinh doanh/sách điện tử" ;
  Tên tệp chuỗi = "big.rar" ;
  Chuỗi gốc filename = "C:\\Users\\Downloads\\Downloads.rar" ;
  FavFTPUtil.uploadFileFromProduction(tên máy chủ, cổng, tên người dùng, mật khẩu, tên đường dẫn, tên tệp, tên tệp gốc);
// Chuỗi localpath = "D:/";
 
// FavFTPUtil.downloadFile(tên máy chủ, cổng, tên người dùng, mật khẩu, tên đường dẫn, tên tệp, đường dẫn cục bộ);
  }
 
}

Trên đây là code hoàn chỉnh để JAVA upload và download file qua FTP, hi vọng nó sẽ hữu ích với mọi người.

Cuối cùng, bài viết về công nghệ JAVA để tải và tải file lên máy chủ FTP (đầy đủ) kết thúc tại đây. Nếu bạn muốn biết thêm về công nghệ JAVA để tải và tải file lên máy chủ FTP (đầy đủ), vui lòng tìm kiếm bài viết CFSDN. duyệt các bài viết liên quan, tôi hy vọng bạn sẽ ủng hộ blog của tôi trong tương lai! .

30 4 0
qq735679552
Hồ sơ

Tôi là một lập trình viên xuất sắc, rất giỏi!

Nhận phiếu giảm giá taxi Didi miễn phí
Phiếu giảm giá taxi Didi
Chứng chỉ ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com
Xem sitemap của VNExpress