導航:首頁 > 文件教程 > javaftp下載指定文件

javaftp下載指定文件

發布時間:2025-05-21 07:49:48

㈠ JAV中怎麼實現FTP的下載功能

java中實現FTP下載功能,通常需要使用FTP客戶端庫來簡化與FTP伺服器的交互。這里提供了一個簡單的Java FTP客戶端實現示例,包括三個主要功能:列出FTP伺服器上的文件、從FTP伺服器下載文件、向FTP伺服器上傳文件。首先,我們來看如何列出FTP伺服器上的文件:

java
void ftpList_actionPerformed(ActionEvent e) {
String server = serverEdit.getText(); // 輸入的FTP伺服器的IP地址
String user = userEdit.getText(); // 登錄FTP伺服器的用戶名
String password = passwordEdit.getText(); // 登錄FTP伺服器的用戶名的口令
String path = pathEdit.getText(); // FTP伺服器上的路徑
try {
FtpClient ftpClient = new FtpClient();
ftpClient.openServer(server); // 連接FTP伺服器
ftpClient.login(user, password); // 登錄FTP伺服器
if (path.length() != 0) ftpClient.cd(path);
TelnetInputStream is = ftpClient.list();
int c;
while ((c = is.read()) != -1) {
System.out.print((char) c);
}
is.close();
ftpClient.closeServer(); // 退出FTP伺服器
} catch (IOException ex) {
}
}

接著,我們來看如何從FTP伺服器下載文件:

java
void getButton_actionPerformed(ActionEvent e) {
String server = serverEdit.getText();
String user = userEdit.getText();
String password = passwordEdit.getText();
String path = pathEdit.getText();
String filename = filenameEdit.getText();
try {
FtpClient ftpClient = new FtpClient();
ftpClient.openServer(server);
ftpClient.login(user, password);
if (path.length() != 0) ftpClient.cd(path);
ftpClient.binary();
TelnetInputStream is = ftpClient.get(filename);
File file_out = new File(filename);
FileOutputStream os = new FileOutputStream(file_out);
byte[] bytes = new byte[1024];
int c;
while ((c = is.read(bytes)) != -1) {
os.write(bytes, 0, c);
}
is.close();
os.close();
ftpClient.closeServer();
} catch (IOException ex) {
}
}

最後,我們來看如何向FTP伺服器上傳文件:

java
void putButton_actionPerformed(ActionEvent e) {
String server = serverEdit.getText();
String user = userEdit.getText();
String password = passwordEdit.getText();
String path = pathEdit.getText();
String filename = filenameEdit.getText();
try {
FtpClient ftpClient = new FtpClient();
ftpClient.openServer(server);
ftpClient.login(user, password);
if (path.length() != 0) ftpClient.cd(path);
ftpClient.binary();
TelnetOutputStream os = ftpClient.put(filename);
File file_in = new File(filename);
FileInputStream is = new FileInputStream(file_in);
byte[] bytes = new byte[1024];
int c;
while ((c = is.read(bytes)) != -1) {
os.write(bytes, 0, c);
}
is.close();
os.close();
ftpClient.closeServer();
} catch (IOException ex) {
}
}

以上代碼展示了如何使用Java實現FTP的基本功能。通過這三個方法,你可以輕松地與FTP伺服器進行交互,實現文件的上傳和下載。當然,實際應用中還需要考慮更多的異常處理和安全性問題。

㈡ 求用java寫一個ftp伺服器客戶端程序

import java.io.*;
import java.net.*;public class ftpServer extends Thread{ public static void main(String args[]){
String initDir;
initDir = "D:/Ftp";
ServerSocket server;
Socket socket;
String s;
String user;
String password;
user = "root";
password = "123456";
try{
System.out.println("MYFTP伺服器啟動....");
System.out.println("正在等待連接....");
//監聽21號埠
server = new ServerSocket(21);
socket = server.accept();
System.out.println("連接成功");
System.out.println("**********************************");
System.out.println("");

InputStream in =socket.getInputStream();
OutputStream out = socket.getOutputStream();

DataInputStream din = new DataInputStream(in);
DataOutputStream dout=new DataOutputStream(out);
System.out.println("請等待驗證客戶信息....");

while(true){
s = din.readUTF();
if(s.trim().equals("LOGIN "+user)){
s = "請輸入密碼:";
dout.writeUTF(s);
s = din.readUTF();
if(s.trim().equals(password)){
s = "連接成功。";
dout.writeUTF(s);
break;
}
else{s ="密碼錯誤,請重新輸入用戶名:";<br> dout.writeUTF(s);<br> <br> }
}
else{
s = "您輸入的命令不正確或此用戶不存在,請重新輸入:";
dout.writeUTF(s);
}
}
System.out.println("驗證客戶信息完畢...."); while(true){
System.out.println("");
System.out.println("");
s = din.readUTF();
if(s.trim().equals("DIR")){
String output = "";
File file = new File(initDir);
String[] dirStructure = new String[10];
dirStructure= file.list();
for(int i=0;i<dirStructure.length;i++){
output +=dirStructure[i]+"\n";
}
s=output;
dout.writeUTF(s);
}
else if(s.startsWith("GET")){
s = s.substring(3);
s = s.trim();
File file = new File(initDir);
String[] dirStructure = new String[10];
dirStructure= file.list();
String e= s;
int i=0;
s ="不存在";
while(true){
if(e.equals(dirStructure[i])){
s="存在";
dout.writeUTF(s);
RandomAccessFile outFile = new RandomAccessFile(initDir+"/"+e,"r");
byte byteBuffer[]= new byte[1024];
int amount;
while((amount = outFile.read(byteBuffer)) != -1){
dout.write(byteBuffer, 0, amount);break;
}break;

}
else if(i<dirStructure.length-1){
i++;
}
else{
dout.writeUTF(s);
break;
}
}
}
else if(s.startsWith("PUT")){
s = s.substring(3);
s = s.trim();
RandomAccessFile inFile = new RandomAccessFile(initDir+"/"+s,"rw");
byte byteBuffer[] = new byte[1024];
int amount;
while((amount =din.read(byteBuffer) )!= -1){
inFile.write(byteBuffer, 0, amount);break;
}
}
else if(s.trim().equals("BYE"))break;
else{
s = "您輸入的命令不正確或此用戶不存在,請重新輸入:";
dout.writeUTF(s);
}
}

din.close();
dout.close();
in.close();
out.close();
socket.close();
}
catch(Exception e){
System.out.println("MYFTP關閉!"+e);

}
}}

㈢ java 使用ftp 下載文件在windows環境下正常,在linux下載不了

GET <服務端:下載的檔名> <本地端:存放的檔名>
PUT <本地端:回上傳的檔名> <服務端:存放的檔名>

下載答:
ex:從伺服器端下載一個檔名為 linux.rar 的文件到本地路徑 C:\,存放檔名為 LINUX_S.RAR。

ftp> get linux.rar c:\LINUX_S.RAR

上傳:
ex:從本地端路徑 C:\ 上傳一個檔名為 LINUX_S.RAR 的文件到伺服器,存放檔名為 linux.rar。

ftp> put c:\LINUX_S.RAR linux.rar

㈣ java在瀏覽器上獲取FTP讀文件路徑

Java在瀏覽器上獲取FTP讀文件路徑涉及FTP上傳下載的基本操作。首先,你需要安裝一個FTP服務端程序並啟動,然後下載一個FTP客戶端程序測試連接。確保連接成功後,可以開始編寫代碼進行上傳下載。

上傳代碼示例中,首先定義一個FTPClient對象,設置文件傳輸類型為二進制類型。通過connect方法連接到FTP伺服器,並登錄。上傳文件時,如果是目錄則遞歸創建目錄並上傳文件;如果是文件則直接上傳。主函數中,通過connect方法連接到FTP伺服器,指定上傳文件路徑並調用upload方法上傳文件。

下載代碼示例中,連接到FTP伺服器後,通過download方法下載文件。支持斷點續傳,並且在下載過程中顯示進度。如果本地文件大於遠程文件,下載將被中止。如果遠程文件不存在,下載失敗。下載成功時,返回相應的狀態。

在實際開發中,需要根據具體需求對代碼進行調整。例如,可以添加異常處理機制,提高程序的健壯性。同時,根據應用場景選擇合適的FTP庫,如Apache Commons Net庫。

在進行FTP操作時,務必注意安全問題,如設置正確的許可權和密碼,避免敏感信息泄露。同時,確保FTP服務端程序的安全配置,防止未授權訪問。

FTP是一種簡單的文件傳輸協議,適用於需要傳輸大量文件的場景。然而,在現代Web開發中,越來越多地使用HTTP或其他協議進行文件傳輸,因為它們提供了更好的安全性、可靠性和用戶體驗。

總之,Java在瀏覽器上獲取FTP讀文件路徑涉及一系列操作,包括連接、上傳和下載。通過合理設計代碼,可以實現高效、安全的文件傳輸功能。

㈤ 用java寫一個sftp客戶端程序 能夠上一個sftp的目錄下載文件到本地指定目錄

不需要裝軟體,下載需要執行sftp伺服器目錄和本地目錄
你說的directory空指針,應該是你沒有指定從sftp的哪個目錄下載

閱讀全文

與javaftp下載指定文件相關的資料

熱點內容
微信你發送的請求太快 瀏覽:222
如何提升業務數據核查 瀏覽:273
哪些家政小時工app靠譜 瀏覽:669
學校里學編程都學什麼內容 瀏覽:133
網站變小了怎麼把它弄大 瀏覽:934
linux文件翻頁 瀏覽:556
醫學教育網是什麼級別的網站 瀏覽:724
商務文件字體格式要求 瀏覽:607
ecstore資料庫操作 瀏覽:94
asus不小心刪除系統文件該怎麼辦 瀏覽:39
iphone常開程序 瀏覽:211
華為視頻存哪個文件夾里了 瀏覽:978
微信商城網站模板 瀏覽:74
qml資料庫 瀏覽:446
ios美劇用什麼app 瀏覽:30
榮耀手機鎖屏怎麼會沒網路 瀏覽:698
有水印的pdf文件能修改內容嗎 瀏覽:610
c文件夾大小 瀏覽:288
蘋果電腦網頁截圖快捷鍵 瀏覽:333
資源文件中加快捷鍵 瀏覽:47

友情鏈接