更新時(shí)間:2022-12-01 12:01:54 來(lái)源:動(dòng)力節(jié)點(diǎn) 瀏覽1208次
文件上傳和下載代碼示例
[code lang=”java”]
package com.resource.util;
導(dǎo)入 java.io.BufferedInputStream;
導(dǎo)入 java.io.BufferedOutputStream;
導(dǎo)入java.io.文件;
導(dǎo)入 java.io.FileInputStream;
導(dǎo)入 java.io.FileOutputStream;
導(dǎo)入java.io.IOException;
導(dǎo)入 java.net.MalformedURLException;
導(dǎo)入java.net.URL;
導(dǎo)入 java.net.URLConnection;
/**
* 此類用于將文件上傳到 FTP 服務(wù)器。
*
* @author Muthu
*/
public class FileUpload
{
/**
* 將文件上傳到 FTP 服務(wù)器。
使用以下語(yǔ)法生成 FTP URL :
* ftp://user:password@host:port/filePath;type=i。
*
* @param ftpServer ,F(xiàn)TP 服務(wù)器地址(可選端口':portNumber')。
* @param user ,可選的用戶名登錄。
* @param password ,用戶的可選密碼。
* @param fileName ,F(xiàn)TP 服務(wù)器上的目標(biāo)文件名(可選
* 前置相對(duì)路徑,例如“myDir/myFile.txt”)。
* @param source ,要上傳的源文件。
* @throws MalformedURLException,IOException 錯(cuò)誤。
*/
public void upload( String ftpServer, String user, String password,
String文件名,文件源 ) 拋出 MalformedURLException,
IOException
{ // 檢查身份驗(yàn)證否則假設(shè)其匿名訪問(wèn)。 if (user != null && password != null) { sb.append( user ); sb.append(':'); sb.append(密碼); sb.append('@'); } sb.append(ftpServer); sb.append('/'); sb.append(文件名);
* 輸入 ==> a=ASCII 模式, i=圖像(二進(jìn)制)模式, 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é)讀取直到流結(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 服務(wù)器下載文件。
使用以下語(yǔ)法生成 FTP URL :
* ftp://user:password@host:port/filePath;type=i。
*
* @param ftpServer ,F(xiàn)TP 服務(wù)器地址(可選端口':portNumber')。
* @param user ,可選的用戶名登錄。
* @param password ,用戶的可選密碼。
* @param fileName ,要下載的文件的名稱(前面有可選的
* 相對(duì)路徑,例如 one/two/three.txt)。
* @param destination ,要保存的目標(biāo)文件。
* @throws MalformedURLException,IOException 錯(cuò)誤。
*/
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://" ); }
// 檢查身份驗(yàn)證否則假設(shè)其匿名訪問(wèn)。
if (user != null && password != null)
{
sb.append( user );
sb.append(':');
sb.append(密碼);
sb.append('@');
}
sb.append(ftpServer);
sb.append('/');
sb.append(文件名);
/*
* 類型 ==> a=ASCII 模式, i=圖像(二進(jìn)制)模式, 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( "輸入不可用" );
}
}
}
相關(guān)閱讀
0基礎(chǔ) 0學(xué)費(fèi) 15天面授
有基礎(chǔ) 直達(dá)就業(yè)
業(yè)余時(shí)間 高薪轉(zhuǎn)行
工作1~3年,加薪神器
工作3~5年,晉升架構(gòu)
提交申請(qǐng)后,顧問(wèn)老師會(huì)電話與您溝通安排學(xué)習(xí)
初級(jí) 202925
初級(jí) 203221
初級(jí) 202629
初級(jí) 203743