仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 1109|回复: 18
打印 上一主题 下一主题

[学习教程] JAVA教程之java完成FTP功效(源代码)

[复制链接]
小魔女 该用户已被删除
跳转到指定楼层
#
发表于 2015-1-18 11:52:45 | 只看该作者 回帖奖励 |正序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
什么时候上述的三种开发工具能和三为一,什么时候java的竞争力才更强,才有机会拉拢更多的程序员投入到对java的开发上,因为到时的开发工具将会比.net的更简单。还有一点也很关键,什么时候java推出的jsf能成为真正意义上的标准。源代码importsun.net.ftp.*;
importsun.net.*;
importjava.awt.*;
importjava.awt.event.*;
importjava.applet.*;
importjava.io.*;

publicclassFtpAppletextendsApplet
{
FtpClientaftp;
DataOutputStreamoutputs;
TelnetInputStreamins;
TelnetOutputStreamouts;
TextArealsArea;
LabelLblPrompt;
ButtonBtnConn;
ButtonBtnClose;
TextFieldTxtUID;
TextFieldTxtPWD;
TextFieldTxtHost;
intch;
publicStringa="没有毗连主机";
Stringhostname="";
publicvoidinit(){
setBackground(Color.white);
setLayout(newGridBagLayout());
GridBagConstraintsGBC=newGridBagConstraints();
LblPrompt=newLabel("没有毗连主机");
LblPrompt.setAlignment(Label.LEFT);

BtnConn=newButton("毗连");
BtnClose=newButton("断开");
BtnClose.enable(false);
TxtUID=newTextField("",15);
TxtPWD=newTextField("",15);
TxtPWD.setEchoCharacter(’*’);
TxtHost=newTextField("",20);
LabelLblUID=newLabel("UserID:");
LabelLblPWD=newLabel("PWD:");
LabelLblHost=newLabel("Host:");

lsArea=newTextArea(30,80);
lsArea.setEditable(false);

GBC.gridwidth=GridBagConstraints.REMAINDER;
GBC.fill=GridBagConstraints.HORIZONTAL;
((GridBagLayout)getLayout()).setConstraints(LblPrompt,GBC);
add(LblPrompt);

GBC.gridwidth=1;
((GridBagLayout)getLayout()).setConstraints(LblHost,GBC);
add(LblHost);
GBC.gridwidth=GridBagConstraints.REMAINDER;
((GridBagLayout)getLayout()).setConstraints(TxtHost,GBC);
add(TxtHost);

GBC.gridwidth=1;
((GridBagLayout)getLayout()).setConstraints(LblUID,GBC);
add(LblUID);
GBC.gridwidth=1;
((GridBagLayout)getLayout()).setConstraints(TxtUID,GBC);
add(TxtUID);

GBC.gridwidth=1;
((GridBagLayout)getLayout()).setConstraints(LblPWD,GBC);
add(LblPWD);
GBC.gridwidth=1;
((GridBagLayout)getLayout()).setConstraints(TxtPWD,GBC);
add(TxtPWD);

GBC.gridwidth=1;
GBC.weightx=2;
((GridBagLayout)getLayout()).setConstraints(BtnConn,GBC);
add(BtnConn);
GBC.gridwidth=GridBagConstraints.REMAINDER;

((GridBagLayout)getLayout()).setConstraints(BtnClose,GBC);
add(BtnClose);

GBC.gridwidth=GridBagConstraints.REMAINDER;
GBC.fill=GridBagConstraints.HORIZONTAL;
((GridBagLayout)getLayout()).setConstraints(lsArea,GBC);
add(lsArea);
}

publicbooleanconnect(Stringhostname,Stringuid,Stringpwd)
{
this.hostname=hostname;
LblPrompt.setText("正在毗连,请守候.....");
try{
aftp=newFtpClient(hostname);
aftp.login(uid,pwd);
aftp.binary();
showFileContents();
}
catch(FtpLoginExceptione){
a="无权限与主机:"+hostname+"毗连!";
LblPrompt.setText(a);
returnfalse;
}
catch(IOExceptione){
a="毗连主机:"+hostname+"失利!";
LblPrompt.setText(a);
returnfalse;
}
catch(SecurityExceptione)
{
a="无权限与主机:"+hostname+"毗连!";
LblPrompt.setText(a);
returnfalse;
}
LblPrompt.setText("毗连主机:"+hostname+"乐成!");
returntrue;
}

publicvoidstop()
{
try
{
aftp.closeServer();
}
catch(IOExceptione)
{
}
}

publicvoidpaint(Graphicsg){
}

publicbooleanaction(Eventevt,Objectobj)
{
if(evt.target==BtnConn)
{
LblPrompt.setText("正在毗连,请守候.....");
if(connect(TxtHost.getText(),TxtUID.getText(),TxtPWD.getText()))
{
BtnConn.setEnabled(false);
BtnClose.setEnabled(true);
}
returntrue;
}
if(evt.target==BtnClose)
{
stop();
BtnConn.enable(true);
BtnClose.enable(false);
LblPrompt.setText("与主机"+hostname+"毗连已断开!");
returntrue;
}
returnsuper.action(evt,obj);
}
publicbooleansendFile(Stringfilepathname){
booleanresult=true;
if(aftp!=null)
{
LblPrompt.setText("正在粘贴文件,请耐烦守候....");

Stringcontentperline;
try{
a="粘贴乐成!";
Stringfg=newString("");
intindex=filepathname.lastIndexOf(fg);
Stringfilename=filepathname.substring(index+1);
FilelocalFile;
localFile=newFile(filepathname);
RandomAccessFilesendFile=newRandomAccessFile(filepathname,"r");
//
sendFile.seek(0);
outs=aftp.put(filename);
outputs=newDataOutputStream(outs);
while(sendFile.getFilePointer()<sendFile.length())
{
ch=sendFile.read();
outputs.write(ch);
}
outs.close();
sendFile.close();
}
catch(IOExceptione){
a="粘贴失利!";
result=false;

}
LblPrompt.setText(a);
showFileContents();
}
else{
result=false;
}
returnresult;
}

publicvoidshowFileContents()
{
StringBufferbuf=newStringBuffer();
lsArea.setText("");
try
{
ins=aftp.list();
while((ch=ins.read())>=0){
buf.append((char)ch);
}
lsArea.appendText(buf.toString());
ins.close();
}
catch(IOExceptione)
{
}
}
publicstaticvoidmain(Stringargs[]){
Framef=newFrame("FTPClient");
f.addWindowListener(newWindowAdapter(){
publicvoidwindowClosing(WindowEvente){
System.exit(0);
}

});
FtpAppletftp=newFtpApplet();
ftp.init();
ftp.start();
f.add(ftp);
f.pack();
f.setVisible(true);
}
}

java也能做一些底层语言开发做的事情(难度很高,不是java顶尖高手是做不来的),
爱飞 该用户已被删除
18#
发表于 2015-5-1 15:04:45 | 只看该作者
你快去找一份Java的编程工作来做吧(如果是在校学生可以去做兼职啊),在实践中提高自己,那才是最快的。不过你得祈祷在公司里碰到一个高手,而且他 还愿意不厌其烦地教你,这样好象有点难哦!还有一个办法就是读开放源码的程序了。我们知道开放源码大都出自高手,他们设计合理,考虑周到,再加上有广大的程序员参与,代码的价值自然是字字珠叽,铿锵有力(对不起,偶最近《金装四大才子》看多了)。
小妖女 该用户已被删除
17#
发表于 2015-4-21 06:24:17 | 只看该作者
我大二,Java也只学了一年,觉得还是看thinking in java好,有能力的话看英文原版(中文版翻的不怎么好),还能提高英文文档阅读能力。
蒙在股里 该用户已被删除
16#
发表于 2015-4-16 17:11:37 | 只看该作者
自从Sun推出Java以来,就力图使之无所不包,所以Java发展到现在,按应用来分主要分为三大块:J2SE,J2ME和J2EE,这也就是Sun ONE(Open Net Environment)体系。J2SE就是Java2的标准版,主要用于桌面应用软件的编程;J2ME主要应用于嵌入是系统开发,如手机和PDA的编程;J2EE是Java2的企业版,主要用于分布式的网络程序的开发,如电子商务网站和ERP系统。
老尸 该用户已被删除
15#
发表于 2015-4-1 08:32:35 | 只看该作者
是一种使网页(Web Page)产生生动活泼画面的语言
金色的骷髅 该用户已被删除
14#
发表于 2015-3-27 17:11:54 | 只看该作者
Sun公司看见Oak在互联网上应用的前景,于是改造了Oak,于1995年5月以Java的名称正式发布。Java伴随着互联网的迅猛发展而发展,逐渐成为重要的网络编程语言。
深爱那片海 该用户已被删除
13#
发表于 2015-3-27 00:11:37 | 只看该作者
科学超级计算机、移动电话和互联网,同时拥有全球最大的开发者专业社群。
冷月葬花魂 该用户已被删除
12#
发表于 2015-3-21 11:10:21 | 只看该作者
《JAVA语言程序设计》或《JAVA从入门到精通》这两本书开始学,等你编程有感觉的时候也可以回看一下。《JAVA读书笔记》这本书,因为讲的代码很多,也很容易看懂,涉及到面也到位。是你学习技术巩固的好书,学完后就看看《JAVA编程思想》这本书,找找一个自己写的代码跟书上的代码有什么不一样。
11#
发表于 2015-3-14 19:31:56 | 只看该作者
有时间再研究一下MVC结构(把Model-View-Control分离开的设计思想)
小魔女 该用户已被删除
10#
 楼主| 发表于 2015-3-11 15:18:32 | 只看该作者
如果要向java web方向发展也要吧看看《Java web从入门到精通》学完再到《Struts2.0入门到精通》这样你差不多就把代码给学完了。有兴趣可以看一些设计模块和框架的包等等。
谁可相欹 该用户已被删除
9#
发表于 2015-3-11 11:42:07 | 只看该作者
Jive的资料在很多网站上都有,大家可以找来研究一下。相信你读完代码后,会有脱胎换骨的感觉。遗憾的是Jive从2.5以后就不再无条件的开放源代码,同时有licence限制。不过幸好还有中国一流的Java程序员关注它,外国人不开源了,中国人就不能开源吗?这里向大家推荐一个汉化的Jive版本—J道。Jive(J道版)是由中国Java界大名 鼎鼎的banq在Jive 2.1版本基础上改编而成, 全中文,增加了一些实用功能,如贴图,用户头像和用户资料查询等,而且有一个开发团队在不断升级。你可以访问banq的网站
小女巫 该用户已被删除
8#
发表于 2015-3-3 16:32:23 | 只看该作者
至于JDBC,就不用我多说了,你如果用java编过存取数据库的程序,就应该很熟悉。还有,如果你要用Java编发送电子邮件的程序,你就得看看Javamail 了。
变相怪杰 该用户已被删除
7#
发表于 2015-3-1 17:30:38 | 只看该作者
是一种使网页(Web Page)由静态(Static)转变为动态(Dynamic)的语言
灵魂腐蚀 该用户已被删除
6#
发表于 2015-3-1 04:01:37 | 只看该作者
是一种使网页(Web Page)产生生动活泼画面的语言
飘灵儿 该用户已被删除
5#
发表于 2015-2-27 00:43:46 | 只看该作者
你现在最缺的是实际的工作经验,而不是书本上那些凭空想出来的程序。
透明 该用户已被删除
地板
发表于 2015-2-9 07:18:09 | 只看该作者
你现在最缺的是实际的工作经验,而不是书本上那些凭空想出来的程序。
山那边是海 该用户已被删除
板凳
发表于 2015-2-6 09:55:23 | 只看该作者
有时间再研究一下MVC结构(把Model-View-Control分离开的设计思想)
若天明 该用户已被删除
沙发
发表于 2015-1-29 06:35:47 | 只看该作者
是一种使网页(Web Page)由静态(Static)转变为动态(Dynamic)的语言
若相依 该用户已被删除
楼主
发表于 2015-1-20 09:45:21 | 只看该作者
[url]http://www.ckuyun.com/[/url]去下载,或到同济技术论坛的服务器[url]ftp://www.ckuyun.com[/url]去下,安装上有什么问题,可以到论坛上去提问。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-12-23 18:12

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表