java如何测试连接ftp是否通
java测试连接ftp是否连通可以使用判断是否有异常来决定,实例如下:
/connectServer
连接ftp服务器
@throws javaioIOException
@param path 文件夹,空代表根目录
@param password 密码
@param user 登陆用户
@param server 服务器地址
/
public void connectServer(String server, String user, String password, String path)
throws IOException
{
// server:FTP服务器的IP地址;user:登录FTP服务器的用户名
// password:登录FTP服务器的用户名的口令;path:FTP服务器上的路径
ftpClient = new FtpClient();
ftpClientopenServer(server);
ftpClientlogin(user, password);
//path是ftp服务下主目录的子目录
if (pathlength() != 0) ftpClientcd(path);
//用2进制上传、下载
ftpClientbinary();
}
/
upload
上传文件
@throws javalangException
@return -1 文件不存在
-2 文件内容为空
>0 成功上传,返回文件的大小
@param newname 上传后的新文件名
@param filename 上传的文件
/
public long upload(String filename,String newname) throws Exception
{
long result = 0;
TelnetOutputStream os = null;
FileInputStream is = null;
try {
javaioFile file_in = new javaioFile(filename);
if (!file_inexists()) return -1;
if (file_inlength()==0) return -2;
os = ftpClientput(newname);
result = file_inlength();
is = new FileInputStream(file_in);
byte[] bytes = new byte[1024];
int c;
while ((c = isread(bytes)) != -1) {
oswrite(bytes, 0, c);
}
} finally {
if (is != null) {
isclose();
}
if (os != null) {
osclose();
}
}
return result;
}
/
upload
@throws javalangException
@return
@param filename
/
public long upload(String filename)
throws Exception
{
String newname = "";
if (filenameindexOf("/")>-1)
{
newname = filenamesubstring(filenamelastIndexOf("/")+1);
}else
{
newname = filename;
}
return upload(filename,newname);
}
/
download
从ftp下载文件到本地
@throws javalangException
@return
@param newfilename 本地生成的文件名
@param filename 服务器上的文件名
/
public long download(String filename,String newfilename)
throws Exception
{
long result = 0;
TelnetInputStream is = null;
FileOutputStream os = null;
try
{
is = ftpClientget(filename);
javaioFile outfile = new javaioFile(newfilename);
os = new FileOutputStream(outfile);
byte[] bytes = new byte[1024];
int c;
while ((c = isread(bytes)) != -1) {
oswrite(bytes, 0, c);
result = result + c;
}
} catch (IOException e)
{
eprintStackTrace();
}
finally {
if (is != null) {
isclose();
}
if (os != null) {
osclose();
}
}
return result;
}
/
取得某个目录下的所有文件列表
/
public List getFileList(String path)
{
List list = new ArrayList();
try
{
DataInputStream dis = new DataInputStream(ftpClientnameList(path));
String filename = "";
while((filename=disreadLine())!=null)
{
listadd(filename);
}
} catch (Exception e)
{
eprintStackTrace();
}
return list;
}
/
closeServer
断开与ftp服务器的链接
@throws javaioIOException
/
public void closeServer()
throws IOException
{
try
{
if (ftpClient != null)
{
ftpClientcloseServer();
}
} catch (IOException e) {
eprintStackTrace();
}
}
public static void main(String [] args) throws Exception
{
FtpUtil ftp = new FtpUtil();
try {
//连接ftp服务器
ftpconnectServer("10163715", "cxl", "1", "info2");
/ 上传文件到 info2 文件夹下 /
Systemoutprintln("filesize:"+ftpupload("f:/download/Installexe")+"字节");
/ 取得info2文件夹下的所有文件列表,并下载到 E盘下 /
List list = ftpgetFileList("");
for (int i=0;i<listsize();i++)
{
String filename = (String)listget(i);
Systemoutprintln(filename);
ftpdownload(filename,"E:/"+filename);
}
} catch (Exception e) {
///
}finally
{
ftpcloseServer();
}
}
}
TYPSoft FTPServer 轻松搭建FTP服务器
如果要架设FTP服务器你会如何选择?也许你会说,那肯定要选Serv-U、WarftpD、ProFTP或Wu-FTP了。这些选择确实很不错,都是一些功能强大的FTP服务器。不过这些并不适合初学者,它们的架设需要具备一定的相关知识,对于一般人来说是不太容易设置的。那么有没有简单一点的方法呢?答案是肯定的,下面我就给大家介绍一种超级简单的FTP服务器,希望能够给广大的初学者们提供帮助。
服务器的设置
建立FTP服务器首先需要下载TYPSoft FTPServer(以下简称TYP),适用于 Windows 9X/2000/XP操作系统。下载之后解压到任何一个文件夹,不用安装直接双击程序就可以开始投入工作了。当然,还需进行一些简单的设置。
1设置端口
如果TYP默认设置的端口21被占用,表现状态如图1所示,列表中会显示“Port already in useChoose another one”,结果是服务器无法启动,此时我们要手工重新设置TYP的端口,方法是选中图1所示窗口中的“Setup FTP”标签,然后在“FTP Port”后面的框中输入新端口号,再单击下面的“Save”按钮即可。
图1
2使用匿名登录
选择主窗口中的“User Setup”标签,然后选择匿名账户“Anonymous”,在右侧窗口中将“HomeDirectory”(主目录)设为我们欲共享的目录,在下面的 “Directory Access”区中设置共享目录中子目录的用户访问权限(下载、上传、更改、删除等),上述选项设置好后按“Save”按钮保存即可(如图2所示)。
图2
3使用其他用户登录
如果想用新建的用户登录,我们可以将匿名用户禁用。在图2所示的窗口中,选择“Anonymous”,然后单击按钮组中的“Option”按钮,在右边的面板中选择“Disable User Account”选项禁用匿名账户,然后再单击“New”按钮,添加一个新用户,再按照设置匿名账户的方法设置此新建账户的访问目录和相关权限,再单击 “Save”按钮即可。
完成这些设置后我们就可以启动FTP服务器了,单击菜单“Server→Start”即可启动服务器。
提示:TYP默认有一个匿名用户,此用户共享的是系统中的D盘,如果不想使用匿名登录,可以将此账户删除掉,如果想使用匿名登录,可以将默认的共享目录更改为其他目录。
客户端的访问
服务器架设好了,就可以让别人访问我们的系统了,访问时可以在浏览器中访问,也可以通过FTP命令来访问,下面我们简要地解释一下如何使用这两种方式访问FTP服务器。
1使用浏览器访问
当使用浏览器访问FTP服务器,我们可以直接在浏览器的地址栏中输入FTP服务器的计算机IP地址。有两类IP地址,一类是局域网内部的IP地址,一类是Internet的IP地址。输入的格式如下:ftp://,然后按回车即可。
如果FTP服务器设置了密码,按回车后会自动弹出一个窗口,按照提示,在指定的地方输入正确的用户名和密码即可登录到FTP服务指定的目录中去了。根据服务器中设置的权限,可以分别进行下载、上传、修改文件、删除等操作。
2使用FTP命令访问
通过FTP命令访问服务器必须了解一些常用的命令使用方法,下面列出几个常用的FTP命令(假设FTP服务器的IP为19216801,共享目录为ABC)。
(1)连接FTP服务器
如果系统是Windows 9X,我们可以在MS-Dos中操作,如果系统是Windows 2000/XP,我们可以在命令行模式下面进行。
首先,在命令行或DOS窗口中输入“ftp”命令并敲回车,然后在“ftp>”提示符后面敲入“open 19216801 port”(port是FTP服务器的端口号),此时命令行等待我们输入用户名,输入合法的用户名后再输入相应的密码,这时我们就可以登录FTP服务器了(图3)。
图3
(2)上传文件
成功登录服务器后,我们就可以上传文件了。上传文件之前,我们最好先建立一个文件夹,然后将文件上传到这个文件夹中,这样对于文件管理比较方便。建立文件夹的命令格式为:mkdir 文件夹名;上传文件的命令格式为:put 源文件的位置和文件名。按回车之后,我们还要输入目标位置,输入合法的目标位置之后再敲回车就行了。如果要实现批量传送文件,可以使用“mput”命令。
(3)下载文件
首先在光标处输入“pwd”命令来查看进入FTP服务器的目录,然后再输入“dir”或者“ls”命令,按回车后,就可以显示此目录里所有文件信息了。例如现在要把FTP服务器里 Music目录中的所有MP3完全下载,那么,首先使用“cd”命令切换目录,进入music目录,然后选择“mget”命令进行下载,“mget”命令可进行多个文件的批量下载(格式为:mget mp3)。如果要下载单个文件,则使用“get”命令。
(4)删除文档
我们可以用“delete”命令进行单一文件的删除,如果需要成批删除文件,则可以使用“mdelete”命令进行,当然若觉得这样太浪费时间,可以输入“rmdir”命令来删除整个目录。
(5)断开与FTP服务器的连接
使用完之后,我们最后使用“Close”命令就可退出与服务器的连接,若是要彻底和FTP说再见,那就使用“bye”或“quit”命令完全退出
f我们公司早把ftp换成换成爱米云了,功能完全可以代替ftp,分分钟就用起来了,简单得很!尤其是对管理员省事多了,文件管理、权限管理都非常方便,客户端传输速度快,还有秒传、文件去重,一些挺实用的功能,系统兼容性也比较好
0条评论