更新時間:2022-12-01 12:01:54 來源:動力節(jié)點 瀏覽1301次
文件上傳和下載代碼示例
[code lang=”java”]
package com.resource.util;
導入 java.io.BufferedInputStream;
導入 java.io.BufferedOutputStream;
導入java.io.文件;
導入 java.io.FileInputStream;
導入 java.io.FileOutputStream;
導入java.io.IOException;
導入 java.net.MalformedURLException;
導入java.net.URL;
導入 java.net.URLConnection;
/**
* 此類用于將文件上傳到 FTP 服務器。
*
* @author Muthu
*/
public class FileUpload
{
/**
* 將文件上傳到 FTP 服務器。
使用以下語法生成 FTP URL :
* ftp://user:password@host:port/filePath;type=i。
*
* @param ftpServer ,FTP 服務器地址(可選端口':portNumber')。
* @param user ,可選的用戶名登錄。
* @param password ,用戶的可選密碼。
* @param fileName ,FTP 服務器上的目標文件名(可選
* 前置相對路徑,例如“myDir/myFile.txt”)。
* @param source ,要上傳的源文件。
* @throws MalformedURLException,IOException 錯誤。
*/
public void upload( String ftpServer, String user, String password,
String文件名,文件源 ) 拋出 MalformedURLException,
IOException
{ // 檢查身份驗證否則假設其匿名訪問。 if (user != null && password != null) { sb.append( user ); sb.append(':'); sb.append(密碼); sb.append('@'); } sb.append(ftpServer); sb.append('/'); sb.append(文件名);
* 輸入 ==> a=ASCII 模式, i=圖像(二進制)模式, d= 文件目錄
* 列表
*/
sb.append( ";type=i" );
BufferedInputStream bis = null;
BufferedOutputStream bos = null;
嘗試
{
URL url = new URL( sb.toString() );
URLConnection urlc = url.openConnection();
bos = new BufferedOutputStream( urlc.getOutputStream() );
bis = new BufferedInputStream( new FileInputStream( 源 ) );
詮釋我;
// 逐字節(jié)讀取直到流結束
while ((i = bis.read()) != -1)
{
bos.write( i );
}
}
finally
{
if (bis != null)
try
{
bis.close();
}
catch (IOException ioe)
{
ioe.printStackTrace();
}
if (bos != null)
try
{
bos.close();
}
catch (IOException ioe)
{
ioe.printStackTrace();
}
}
}
else
{
System.out.println( "輸入不可用。" );
}
}
/**
* 從 FTP 服務器下載文件。
使用以下語法生成 FTP URL :
* ftp://user:password@host:port/filePath;type=i。
*
* @param ftpServer ,FTP 服務器地址(可選端口':portNumber')。
* @param user ,可選的用戶名登錄。
* @param password ,用戶的可選密碼。
* @param fileName ,要下載的文件的名稱(前面有可選的
* 相對路徑,例如 one/two/three.txt)。
* @param destination ,要保存的目標文件。
* @throws MalformedURLException,IOException 錯誤。
*/
public void download( String ftpServer, String user, String password,
String fileName, File destination ) throws MalformedURLException,
IOException
{
if (ftpServer != null && fileName != null && destination != null)
{
StringBuffer sb = new StringBuffer( "ftp://" ); }
// 檢查身份驗證否則假設其匿名訪問。
if (user != null && password != null)
{
sb.append( user );
sb.append(':');
sb.append(密碼);
sb.append('@');
}
sb.append(ftpServer);
sb.append('/');
sb.append(文件名);
/*
* 類型 ==> a=ASCII 模式, i=圖像(二進制)模式, d= 文件目錄
* 列表
*/
sb.append( ";type=i" );
BufferedInputStream bis = null;
BufferedOutputStream bos = null;
嘗試
{
URL url = new URL( sb.toString() );
URLConnection urlc = url.openConnection();
bis = new BufferedInputStream( urlc.getInputStream() );
bos = new BufferedOutputStream( new FileOutputStream(
destination.getName() ) );
詮釋我;
while ((i = bis.read()) != -1)
{
bos.write( i );
}
}
finally
{
if (bis != null)
try
{
bis.close();
}
catch (IOException ioe)
{
ioe.printStackTrace();
}
if (bos != null)
try
{
bos.close();
}
趕上(IOException ioe)
{
ioe.printStackTrace();
}
}
}
else
{
System.out.println( "輸入不可用" );
}
}
}