当前位置:首页 » 文件管理 » ftp目录配置

ftp目录配置

发布时间: 2022-10-14 21:15:07

ftp的路径怎么设置

问一下,你是想做ftp上传下载么?

首先你需要安装一个ftp服务端程序,启动起来,然后下载一个ftp客户端程序,测试能不能连接,首先这一块儿需要测试通过。
代码ftp上传下载
2.1 上传代码:
import java.io.File;
import java.io.FileInputStream;
import org.apache.commons.net.ftp.FTPClient;
import org.apache.commons.net.ftp.FTPReply;

public class test {

private FTPClient ftp;
/**
*
* @param path 上传到ftp服务器哪个路径下
* @param addr 地址
* @param port 端口号
* @param username 用户名
* @param password 密码
* @return
* @throws Exception
*/
private boolean connect(String path,String addr,int port,String username,String password) throws Exception {
boolean result = false;
ftp = new FTPClient();
int reply;
ftp.connect(addr,port);
ftp.login(username,password);
ftp.setFileType(FTPClient.BINARY_FILE_TYPE);
reply = ftp.getReplyCode();
if (!FTPReply.isPositiveCompletion(reply)) {
ftp.disconnect();
return result;
}
ftp.changeWorkingDirectory(path);
result = true;
return result;
}
/**
*
* @param file 上传的文件或文件夹
* @throws Exception
*/
private void upload(File file) throws Exception{
if(file.isDirectory()){
ftp.makeDirectory(file.getName());
ftp.changeWorkingDirectory(file.getName());
String[] files = file.list();
for (int i = 0; i < files.length; i++) {
File file1 = new File(file.getPath()+"\\"+files[i] );
if(file1.isDirectory()){
upload(file1);
ftp.changeToParentDirectory();
}else{
File file2 = new File(file.getPath()+"\\"+files[i]);
FileInputStream input = new FileInputStream(file2);
ftp.storeFile(file2.getName(), input);
input.close();
}
}
}else{
File file2 = new File(file.getPath());
FileInputStream input = new FileInputStream(file2);
ftp.storeFile(file2.getName(), input);
input.close();
}
}
public static void main(String[] args) throws Exception{
test t = new test();
t.connect("", "localhost", 21, "yhh", "yhhazr");
File file = new File("e:\\uploadify");
t.upload(file);
}
}
2.2 下载代码
这里没有用到filter,如果用filter就可以过滤想要的文件。

public class Ftp {

/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
Ftp ftp = new Ftp();
String hostname = "www.strawberry.com";
Integer port = 21;
String username = "username";
String password = "password";
String remote = "/c.txt";
String local = "/home/tin/LeonChen/FTP/";
try {
ftp.connect(hostname, port, username, password);
System.out.println("接收状态:"+ftp.download(remote, local));
ftp.disconnect();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}

private FTPClient ftpClient = new FTPClient();

/*
* * 连接到FTP服务器
* * @param hostname 主机名
* * @param port 端口
* * @param username 用户名
* * @param password 密码
* * @return 是否连接成功
* * @throws IOException
*/
private boolean connect(String hostname, int port, String username,
String password) throws IOException {
ftpClient.connect(hostname, port);
ftpClient.setControlEncoding("UTF-8");
if (FTPReply.isPositiveCompletion(ftpClient.getReplyCode())) {
if (ftpClient.login(username, password)) {
return true;
}
}
disconnect();
return false;
}

/*
* 从FTP服务器上下载文件,支持断点续传,上传百分比汇报
*
* @param remote 远程文件路径
*
* @param local 本地文件路径
*
* @return 上传的状态
*
* @throws IOException
*/
public DownloadStatus download(String remote, String local)
throws IOException {
// 设置被动模式
ftpClient.enterLocalPassiveMode();
// 设置以二进制方式传输
ftpClient.setFileType(FTP.BINARY_FILE_TYPE);
DownloadStatus result;
// 检查远程文件是否存在
FTPFile[] files = ftpClient.listFiles(new String(remote
.getBytes("UTF-8"), "iso-8859-1"));
if (files.length != 1) {
System.out.println("远程文件不存在");
return DownloadStatus.Remote_File_Noexist;
}
long lRemoteSize = files[0].getSize();
String fildName = files[0].getName();
// 本地存在文件,进行断点下载
File f = new File(local+fildName);
if (f.exists()) {
long localSize = f.length();
if (localSize >= lRemoteSize) {
System.out.println("本地文件大于远程文件,下载中止");
return DownloadStatus.Local_Bigger_Remote;
}

// 进行断点续传,并记录状态
FileOutputStream out = new FileOutputStream(f, true);
ftpClient.setRestartOffset(localSize);
InputStream in = ftpClient.retrieveFileStream(new String(remote.getBytes("UTF-8"), "iso-8859-1"));
byte[] bytes = new byte[1024];
long step = lRemoteSize / 100;
long process = localSize / step;
int c;
while ((c = in.read(bytes)) != -1) {
out.write(bytes, 0, c);
localSize += c;
long nowProcess = localSize / step;
if (nowProcess > process) {
process = nowProcess;
if (process % 10 == 0)
System.out.println("下载进度:" + process);
// TODO 更新文件下载进度,值存放在process变量中
}
}
in.close();
out.close();
boolean isDo = ftpClient.completePendingCommand();
if (isDo) {
result = DownloadStatus.Download_From_Break_Success;
} else {
result = DownloadStatus.Download_From_Break_Failed;
}
} else {
OutputStream out = new FileOutputStream(f);
InputStream in = ftpClient.retrieveFileStream(new String(remote.getBytes("UTF-8"), "iso-8859-1"));
byte[] bytes = new byte[1024];
long step = lRemoteSize / 100;
long process = 0;
long localSize = 0L;
int c;
while ((c = in.read(bytes)) != -1) {
out.write(bytes, 0, c);
localSize += c;
long nowProcess = localSize / step;
if (nowProcess > process) {
process = nowProcess;
if (process % 10 == 0)
System.out.println("下载进度:" + process);
// TODO 更新文件下载进度,值存放在process变量中
}
}
in.close();
out.close();
boolean upNewStatus = ftpClient.completePendingCommand();
if (upNewStatus) {
result = DownloadStatus.Download_New_Success;
} else {
result = DownloadStatus.Download_New_Failed;
}
}
return result;
}

private void disconnect() throws IOException {
if (ftpClient.isConnected()) {
ftpClient.disconnect();
}
}

}

linux里ftp服务器怎么配置根目录

1、deepin linux默认没有安装命令行的ftp客户端,在终端执行ftp命令会提示未找到命令。

❸ linux里ftp服务器怎么配置根目录

在linux的vsftp配置文件下添加
本地的根目录是添加
local
root
=
/tmp/ftp/pub
就把local的目录改变了成
/tmp/ftp/pub
匿名的根目录是添加
anon
root
=
/tmp/ftp/pub
就把匿名的目录改变了成
/tmp/ftp/pub
顺便的目录都行

❹ 华为防为墙如何配置ftp

配置FW作为FTP服务器

介绍配置FW作为FTP服务器的方法。

操作步骤

  • 执行命令system-view,进入系统视图。

  • 执行命令ftp server enable,启动FTP服务器。

  • 创建FTP管理员。

  • 执行命令aaa,进入AAA视图。

  • 执行命令manager-useruser-name,配置管理员账号并进入管理员视图。

  • 执行命令password[ciphercipher-password],配置管理员账号对应的密码。

    说明:

    荐采用交互式方式创建管理员密码,通过ciphercipher-password配置密码时存在密码泄露的危险。

  • 执行命令levellevel,配置管理员的级别。

    说明:

    为了保证管理员能正常登录设备,请将管理员级别配置在3级或3级以上。

  • 执行命令service-typeftp,配置管理员拥有的服务类型为FTP。

  • 执行命令ftp-directorydirectory,配置管理员账号的FTP服务目录。

  • 执行命令access-limitmax-number,配置使用本管理员账号同时可登录的最大管理员数量。

  • 执行命令quit,退回到AAA视图。

  • 执行命令quit,退回到系统视图。

  • 可选:执行命令ftp timeoutminutes,配置FTP服务器超时断连时间。

    为了防止未授权者的非法入侵,如果在一定时间内没有收到FTP管理员的服务请求,则系统会断开与该FTP客户端的连接。当FTP管理员再需要服务时,需要重新进行登录操作。

    缺省情况下,系统的连接空闲时间为30分钟。

  • 可选:配置FTP的访问控制列表。

    通过配置FTP访问控制列表,可提高FTP服务器的安全性。

  • 执行命令acl[number]acl-number[vpn-instancevpn-instance],进入ACL视图。

    说明:

    FTP只支持基本访问控制列表,因此acl-number的取值范围是2000~2999。

  • 执行命令rule[rule-id] {deny|permit} [logging|source{source-ip-address soucer-wildcard|any} |time-rangetime-name],配置ACL规则。

  • 执行命令quit,退回到系统视图。

  • 执行命令ftp aclacl-number,配置FTP基本访问控制列表。

❺ 紫光软件怎么设置ftp存储目录

摘要 紫光是业内的综合性专业性较强的企业,他的很多档案管理内容都是标准的,也就是说,会在传统的档案馆或者事业单位匹配度比较高,但另外一个角度来说,他的产品研发较早,系统功能虽然稳定,但界面和操作,跟当前的轻云操作,似乎有些背道而驰,更何况他的价格会比较高一些,至于量子伟业,多年的老品牌,无论是功能还是界面以及后期扩展,个人认为都是要好于紫光的,最后说说致得,个人觉得,产品功能相对完善,但界面操作并不是很友好,人工上手速度较慢,当然,如果看在他相对合适的价格,这些问题都是可以忍受的。

❻ Windows Server 2008 R2 架设FTP服务器并配置访问多个不同的目录

1、 进入【控制面板】ー>【管理工具】ー>Internet信息服务(IIS);
2、 双击【默认FTP站点】,在右侧菜单中配置FTP主目录、登录账户、操作权限等;
3、右击【默认FTP站点】ー>【添加虚拟目录】,设置虚拟目录名称,此名称可以随便写,若要设置多个虚拟目录,注意多个虚拟目录的名称不要重复;
4、设置虚拟目录实际对应的物理路径;
5、 显示虚拟目录(重要) :此时进入FTP主目录下是看不到添加的虚拟目录的,若要能在主目录下访问并能操作虚拟目录, 需在主目录文件夹下创建一个与前面设置的虚拟目录别名同名的空文件夹 , 重新登录FTP即可发现主目录中多出来添加的虚拟目录;
6、对虚拟目录内的这些文件操作时,实际上是对虚拟目录的操作。

❼ 如果配置ftp虚拟目录

我也建议用
serv-u
来做FTP
windows下做,一些权限不太好设置麻烦
serv-u
里设置虚拟目录要在两个地方设置
1.在你建立的帐号下要添加这个目录的权限
2.在你建立的这个fTP名称下
设置项目里有个
虚拟路径的,在这里把你要添加的目录写好,添加到主目录里,并取个名称就好了

❽ 交换机FTP怎么配置

1.先打开FTP
2.配置FTP登陆用户
3.配置用户权限
4.配置用户类型
5.配置FTP目录
下面以华为交换机AA用户密码为1234567890为例
#
ftp server enable
#
aaa
local-user aa password cipher 1234567890
local-user aa privilege level 15
local-user aa ftp-directory flash:
local-user aa service-type ftp

热点内容
centos自带python 发布:2024-10-08 00:53:31 浏览:340
android串口调试助手 发布:2024-10-08 00:45:03 浏览:405
sqlserver2008乱码 发布:2024-10-08 00:39:59 浏览:220
华为电脑服务器系统进不去提示 发布:2024-10-08 00:13:42 浏览:491
登录密码如何获取 发布:2024-10-07 23:58:40 浏览:425
王者荣耀人机脚本 发布:2024-10-07 23:58:33 浏览:809
地标建筑脚本 发布:2024-10-07 23:48:51 浏览:242
sqlorderby 发布:2024-10-07 23:42:13 浏览:958
qq秒源码 发布:2024-10-07 23:41:37 浏览:471
51单片机编译器 发布:2024-10-07 23:28:04 浏览:798