如何将文件上传到FTP服务器?

我创建了一个从有权访问的FTP服务器下载文件的功能。如何将文件上传回FTP服务器?

以下是我使用的download_files方法:

public static void download_files(String un, String pw, String ip, String dir, String fn, String fp){

URLConnection con;

BufferedInputStream in = null;

FileOutputStream out = null;

try{

URL url = new URL("ftp://"+un+":"+pw+"@"+ip+"/"+dir+"/"+fn+";type=i");

con = url.openConnection();

in = new BufferedInputStream(con.getInputStream());

out = new FileOutputStream(fp+fn);

int i = 0;

byte[] bytesIn = new byte[1024];

while ((i = in.read(bytesIn)) >= 0) {

out.write(bytesIn, 0, i);

}

}catch(Exception e){

System.out.print(e);

e.printStackTrace();

System.out.println("Error while FTP'ing "+fn);

}finally{

try{

out.close();

in.close();

}catch(IOException e){

e.printStackTrace();

System.out.println("Error while closing FTP connection");

}

}

}

回答:

使用Apache Commons Net库中的FTPClient类。

这是一个带有示例的代码段:

FTPClient client = new FTPClient();

FileInputStream fis = null;

try {

client.connect("ftp.domain.com");

client.login("admin", "secret");

//

// Create an InputStream of the file to be uploaded

//

String filename = "Touch.dat";

fis = new FileInputStream(filename);

//

// Store file to server

//

client.storeFile(filename, fis);

client.logout();

} catch (IOException e) {

e.printStackTrace();

} finally {

try {

if (fis != null) {

fis.close();

}

client.disconnect();

} catch (IOException e) {

e.printStackTrace();

}

}

摘录自http://www.kodejava.org/examples/356.html

以上是 如何将文件上传到FTP服务器? 的全部内容, 来源链接: utcz.com/qa/407546.html

回到顶部