1. 程式人生 > >JavaWeb使用ftp上傳下載以及訪問檔案

JavaWeb使用ftp上傳下載以及訪問檔案

主要就是把對ftp的訪問封裝成一個常用類就行了。

首先是要學會怎麼Java怎麼用,我是將其封裝成我自己的一個工具包,這樣下次使用的時候就可以直接拿出來用了。

package com.utils;

import java.io.InputStream;
/**
 * 
 * @author Panpan
 *
 */
public class FtpBean {
	private String ftpUrl;//ftp地址
	private int port;//埠號是21
	private String userName;//ftp使用者名稱
	private String passWord;//ftp密碼
	private String ftpPath;//ftp上可以訪問的檔案路徑
	private String fileName;//檔名 
	private InputStream input;//輸入流(用做上傳檔案或在ftp新建檔案使用)
	private String localPath;//用於從ftp上下載檔案存放的路徑

	public FtpBean() {
		super();
		// TODO Auto-generated constructor stub
	}
	
	
	public FtpBean(String ftpUrl, int port, String userName, String passWord, String ftpPath, String fileName,
			InputStream input, String localPath) {
		super();
		this.ftpUrl = ftpUrl;
		this.port = port;
		this.userName = userName;
		this.passWord = passWord;
		this.ftpPath = ftpPath;
		this.fileName = fileName;
		this.input = input;
		this.localPath = localPath;
	}

}
package com.utils;

import java.io.ByteArrayInputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.io.UnsupportedEncodingException;

import org.apache.commons.net.ftp.FTP;
import org.apache.commons.net.ftp.FTPClient;
import org.apache.commons.net.ftp.FTPFile;
import org.apache.commons.net.ftp.FTPReply;
import org.junit.Test;

public class FtpUtil {
	
	/**
	 * Description: 向FTP伺服器上傳檔案
	 * @Version1.0 Jul 27, 2008 4:31:09 PM by 崔紅保(
[email protected]
)建立 * @param url FTP伺服器hostname * @param port FTP伺服器埠 * @param username FTP登入賬號 * @param password FTP登入密碼 * @param path FTP伺服器儲存目錄 * @param filename 上傳到FTP伺服器上的檔名 * @param input 輸入流 * @return 成功返回true,否則返回false */ public static boolean uploadFile(FtpBean ftpBean) { boolean success = false; FTPClient ftp = new FTPClient(); try { int reply; ftp.connect(ftpBean.getFtpUrl(), ftpBean.getPort());//連線FTP伺服器 //如果採用預設埠,可以使用ftp.connect(url)的方式直接連線FTP伺服器 ftp.login(ftpBean.getUserName(), ftpBean.getPassWord());//登入 ftp.setFileType(FTP.BINARY_FILE_TYPE); //設定檔案型別為binary reply = ftp.getReplyCode(); if (!FTPReply.isPositiveCompletion(reply)) { ftp.disconnect(); return success; } ftp.changeWorkingDirectory(ftpBean.getFtpPath()); //設定為被動模式 //ftp.enterLocalPassiveMode(); ftp.storeFile(ftpBean.getFileName(), ftpBean.getInput()); ftpBean.getInput().close(); ftp.logout(); success = true; } catch (IOException e) { e.printStackTrace(); } finally { if (ftp.isConnected()) { try { ftp.disconnect(); } catch (IOException ioe) { } } } return success; } }

相關推薦

JavaWeb使用ftp下載以及訪問檔案

主要就是把對ftp的訪問封裝成一個常用類就行了。首先是要學會怎麼Java怎麼用,我是將其封裝成我自己的一個工具包,這樣下次使用的時候就可以直接拿出來用了。package com.utils; import java.io.InputStream; /** * * @a

spring boot實現檔案下載以及檔案

首先是很簡單的介面,在resource/static下建立檔案file.html <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml" xmlns:th="http://www.thymel

完整實現檔案下載以及輸出下載列表

首先匯入jar包: commons-fileupload-1.2.1.jar 【檔案上傳元件核心jar包】 commons-io-1.4.jar 【封裝了對檔案處理的相關工具類】 jsp程式碼: 功能選擇: &

Spring Boot 單檔案,多檔案以及檔案寫入響應中

單檔案上傳 配置檔案設定 @Component public class MultipartConfig { @Bean public MultipartConfigElement multipartConfigElement(){ Multipa

使用SecureCRT來下載Linux伺服器檔案

SecureCRT下的檔案傳輸協議有以下幾種:ASCII、Xmodem、Ymodem、Zmodem ASCII:這是最快的傳輸協議,但只能傳送文字檔案。 Xmodem:這種古老的傳輸協議速度較慢,但由於使用了CRC錯誤偵測方法,傳輸的準確率可高達99.6%。 Ymodem:這是X

socket_ftp下載路徑查檔案

#clientimport socket,os,json,hashlibclass Ftpclient(object):     def __init__(self):       &n

利用FtpClient實現下載及獲得檔案目錄

sun程式碼中有個FtpClient,雖然沒有把它用做公開的工具包,但我們也還是可以拿它來利用一下. Java程式碼 1./** 2. * FTP檔案上傳與下載 3. * notice: 4. * 之所以每次都要連線一次ftp是讓它的目錄重新返回到

SpringBoot檔案下載和多檔案(圖文詳解)

最近在學習SpringBoot,以下是最近學習整理的實現檔案上傳下載的java程式碼: 1、開發環境: IDEA15+ Maven+JDK1.8 2、新建一個maven工程: 3、工程框架 4、pom.xml檔案依賴項 <proje

ASP.NET MVC檔案下載Demo(檔案儲存在資料庫)

ASP.NET MVC檔案上傳下載Demo(檔案儲存在SQL Server資料庫中)如圖:後期考慮到安全問題,可以用MD5加密,生成加密資料庫連線字串,替換Web.config檔案中字串即可,如圖:如果

Struts框架下載檔案輔助類,簡單實現Struts圖片以及下載

       首先在看這篇文章的前提下,你得會用Struts框架,有一定的基礎瞭解,說白了瞭解怎麼搭建就行了,然後基本就能順利執行本篇文章的Demo,當然這個類不僅僅侷限於圖片上傳下載的,因為是自己用流寫的方法所以可以支援其他檔案上傳下載。

thymeleaf + easy + springboot 檔案下載以及列表展示 介面

這裡只是隨便寫寫,如果有大佬看到請不要噴我。 上傳下載 在上一篇部落格裡面有寫到我就不在描述了,這裡我只是寫一下我的思路。 首先可以讓程式碼可以複用起來 這裡用到的是 thymeleaf的include標籤。 檔案列表 <!-- 這裡是檔案列表 只需要放在需要顯示檔案

SpringMVC實現頁面和java模型的資料互動以及檔案下載和資料校驗

1. 專案結構 2.  springMVC-servlet.xml 配置檔案 <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org

libcurl post/get下載檔案 以及斷點下載(操作libcurl 實現斷點下載(續點續))

各位親 有時間可以去看看我的  “金駿家居淘寶店” http://jinjun1688.taobao.com/shop/view_shop.htm?tracelog=twddp 買時說明在我的部落格看到有優惠哦 還有意外禮品贈送  真正的程式設計師淘寶店 標頭檔案

java-web檔案下載,可解決多個安全訪問問題

檔案上傳下載,可解決多個安全訪問問題。這個是上年老師教給我們的一個方法,這裡當做筆記記錄一下。說明:對於檔案上傳,瀏覽器在上傳的過程中是將檔案以流的形式提交到伺服器端的,如果直接使用Servlet獲取上傳檔案的輸入流然後再解析裡面的請求引數是比較麻煩,所以一般選擇採用apac

配置允許匿名用戶登錄訪問vsftpd服務,進行文檔的下載、文檔的新建刪除等操作

vsftp ftp服務器 匿名用戶 centos7系統 這裏在centos7版本系統下驗證的。一般情況下,匿名用戶的上傳下載,所使用的用戶都是ftp用戶的權限;若要上傳文件,則需要ftp用戶對文件有w的權限,若要下載,則需要ftp用戶對文件有r的權限。步驟修改配置文件vsftpd.conf(根

檔案下載時,在form表單中設定屬性enctype=“multipart/form-data”的情況下,如何獲取表單提交的值?

一、問題描述 檔案上傳下載時,在form表單中設定屬性enctype=“multipart/form-data”的情況下,如何獲取表單提交的有關使用者資訊的值?(比如:textfield、radio等屬性中的值) 二、解決方法 1、情況一:沒有對user物件進行封裝 方法:

linux中檔案下載

windows篇 linux檔案下載到windows   sz命令   登入到linux伺服器使用 sz log.log 命令,彈出對話方塊選擇下載檔案的目錄,點選確定即可。   windows檔案上傳到linux   rz命令   登入到linux伺服器使用rz命令,彈出檔

linux利用scp遠端下載檔案/資料夾

scp是secure copy的簡寫,用於在Linux下進行遠端拷貝檔案的命令,和它類似的命令有cp,不過cp只是在本機進行拷貝不能跨伺服器,而且scp傳輸是加密的。可能會稍微影響一下速度。 當你伺服器硬碟變為只讀 read only system時,用scp可

vsftpd 安裝以及配置虛擬使用者下載

新增的檔案以及資料夾(不需要執行,下面用到的時候會建立) touch /home/login_user.txt #存放虛擬使用者名稱和密碼(單行使用者名稱,雙行密碼) /etc/vsftpd/login_user.db #虛擬庫(認證)檔案 cp /etc/pam.d/vsf

webdriver API:下載檔案

上傳檔案 普通上傳:將本地檔案的路徑作為一個值放在input標籤中,通過form表單提交的時候將這個值提交給伺服器 上傳的輸入框標籤必須為input #送一個檔案的絕對路徑到上傳輸入框 dr.find_element_by_name('file').send_keys('D:\\uplo