當前位置:首頁 » 文件管理 » javaftpapache

javaftpapache

發布時間: 2023-05-26 00:32:29

『壹』 java如何設置apache ftpserver api 的數據埠


ftpd.bat ftpd-typical.xml

『貳』 java Apache ftp下載文件內容亂碼,不是文件名亂碼,設置了[ftp.setControlEncoding("GBK");]也沒用。

我估計是你的第二張圖的那個文件的保存的編碼格式跟你設置的GBK的傳輸編碼格式不一致

『叄』 java ftp 有哪些工具類

java ftp 最常用的是apache commons-net


commons-net項目中封裝了各種網路協議的客戶端,支持的協議包括:



  • FTP

  • NNTP

  • SMTP

  • POP3

  • Telnet

  • TFTP

  • Finger

  • Whois

  • rexec/rcmd/rlogin

  • Time (rdate) and Daytime

  • Echo

  • Discard

  • NTP/SNTP




其他的還有FTP4J ,jftp

『肆』 java FTP下載

檢查一下是否timeout時間設置過短。不要設置內存或者處理器限制。 還有在IIS的metabase資料庫中找一下FTP的設置,在那裡找配置文件修改最直接。
通過CFtpFileFind 得到文件的URL之後,然後通過CHttpFile::QueryInfo 得到文件大小。
求採納為滿意回答。

『伍』 java中怎麼實現ftp文件傳輸

packagecom.quantongfu.ftp.ftp;

importjava.io.File;
importjava.io.FileInputStream;
importjava.io.IOException;
importjava.net.ServerSocket;
importjava.util.List;

importorg.apache.commons.net.ftp.FTPReply;
importorg.apache.log4j.Logger;
importorg.apache.log4j.net.SocketServer;

importcom.quantongfu.conf.FtpConf;

/**
*@項目名稱:telinSyslog
*@文件名稱:Ftp.java
*@創建日期:2015年9月14日下午3:22:08
*@功能描述:ftp實體類,用於連接,上傳
*@修訂記錄:
*/
publicclassFtp{
privatestaticLoggerlogger=Logger.getLogger(Ftp.class);
privateFTPClientftp;

/**
*
*@parampath
*上傳到ftp伺服器哪個路徑下
*@paramaddr
*地址
*@paramport
*埠號
*@paramusername
*用戶名
*@parampassword
*密碼
*@return
*@throwsException
*/
publicbooleanconnect()throwsException{
booleanresult=false;
ftp=newFTPClient();
intreply;
ftp.connect(FtpConf.FTP_HOST,FtpConf.FTP_PORT);
ftp.login(FtpConf.FTP_USER_NAME,FtpConf.FTP_PASSWORD);
ftp.setFileType(FTPClient.BINARY_FILE_TYPE);
ftp.setDataTimeout(60000);
reply=ftp.getReplyCode();
if(!FTPReply.isPositiveCompletion(reply)){
ftp.disconnect();
returnresult;
}
if(FtpConf.IS_FTP_DIRECTORY){
ftp.changeWorkingDirectory(FtpConf.FTP_DIRECTORY);
}
result=true;
returnresult;
}

/**
*
*@paramfiles
*上傳的文件
*@throwsException
*/
publicbooleanupload(Filefile)throwsIOException{
FileInputStreaminput=null;
try{
input=newFileInputStream(file);
booleanb=ftp.storeFile(file.getName()+".tmp",input);
if(b){
b=ftp.rename(file.getName()+".tmp",file.getName());
}
returnb;
}catch(Exceptione){
e.printStackTrace();
returnfalse;
}finally{
if(input!=null){
input.close();
}
}
}

/**
*
*@paramfiles
*上傳的文件
*@throwsException
*/
publicbooleanupload(ServerSocketserver,Filefile)throwsException{
FileInputStreaminput=null;
try{
if(!file.exists()){
returntrue;
}
input=newFileInputStream(file);
booleanb=ftp.storeFile(server,file.getName()+".tmp",input);
if(b){
b=ftp.rename(file.getName()+".tmp",file.getName());
if(b){
file.delete();
}
}
returnb;
}catch(Exceptione){
logger.error("ftperror"+e.getMessage());
returnfalse;
}finally{
if(input!=null){
try{
input.close();
}catch(IOExceptione){
e.printStackTrace();
}
}
}
}
/*斷開連接*/
publicvoiddisConnect(){
try{
if(ftp!=null){
ftp.disconnect();
}
}catch(IOExceptione){
e.printStackTrace();
}

}
/*獲取連接*/
publicstaticFtpgetFtp(){
Ftpftp=newFtp();
try{
ftp.connect();
}catch(Exceptione){
logger.error("FTP連接異常"+e.getMessage());
e.printStackTrace();
}
returnftp;
}
/*重連*/
publicFtpreconnect(){
disConnect();
returngetFtp();
}
}

使用Apache FtpClient jar包,獲取jar : http://commons.apache.org/net/

『陸』 如何用java 程序啟動Apache-ftpserver 功能

public class FtpServerListener implements ServletContextListener {

public static final String FTPSERVER_CONTEXT_NAME = "org.apache.ftpserver";

public void contextDestroyed(ServletContextEvent sce) {
System.out.println("Stopping FtpServer");

FtpServer server = (FtpServer) sce.getServletContext().getAttribute(FTPSERVER_CONTEXT_NAME);

if(server != null) {
server.stop();

sce.getServletContext().removeAttribute(FTPSERVER_CONTEXT_NAME);

System.out.println("FtpServer stopped");
} else {
System.out.println("No running FtpServer found");
}

}

public void contextInitialized(ServletContextEvent sce) {
System.out.println("Starting FtpServer");

WebApplicationContext ctx = WebApplicationContextUtils.getWebApplicationContext(sce.getServletContext());

FtpServer server = (FtpServer) ctx.getBean("myFtpServer");

sce.getServletContext().setAttribute(FTPSERVER_CONTEXT_NAME, server);

try {
server.start();
System.out.println("FtpServer started");
} catch (Exception e) {
throw new RuntimeException("Failed to start FtpServer", e);
}
}

}

熱點內容
網易我的世界監獄風雲的伺服器 發布:2024-04-20 22:35:41 瀏覽:185
linux服務自動重啟 發布:2024-04-20 22:34:54 瀏覽:961
編譯器最後的結果 發布:2024-04-20 22:30:38 瀏覽:820
安裝linuxoracle11g 發布:2024-04-20 22:29:02 瀏覽:532
android設置權重 發布:2024-04-20 22:20:08 瀏覽:724
什麼手機安卓系統80 發布:2024-04-20 21:37:29 瀏覽:379
浙江萬里的伺服器地址 發布:2024-04-20 21:16:59 瀏覽:407
ndklinux下載 發布:2024-04-20 21:05:22 瀏覽:566
王者榮耀解壓資源包97 發布:2024-04-20 20:46:10 瀏覽:397
蘋果手機沒有密碼怎麼打開 發布:2024-04-20 20:45:25 瀏覽:93