JAVA网站制作之复杂的收信的例子:SimpleReceiver
C#是盗用了Java的源代码,仿照开发的,原因是Java是开源的啊,盗了也白盗,还有一点,开发C#语言的团队是就是开发Java语言的团队,是微软重金挖过去的啊importjavax.mail.*;importjavax.mail.internet.*;
importjava.util.*;
importjava.io.*;
/**
*Asimpleemailreceiverclass.
*/
publicclassSimpleReceiver{
/**
*Mainmethodtoreceivemessagesfromthemailserverspecified
*ascommandlinearguments.
*/
publicstaticvoidmain(Stringargs[]){
try{
StringpopServer=args;
StringpopUser=args;
StringpopPassword=args;
receive(popServer,popUser,popPassword);
}catch(Exceptionex){
System.out.println("Usage:javacom.lotontech.mail.SimpleReceiver"+"popServerpopUserpopPassword");
}
System.exit(0);
}
/**
*"receive"methodtofetchmessagesandprocessthem.
*/
publicstaticvoidreceive(StringpopServer,StringpopUser,StringpopPassword){
Storestore=null;
Folderfolder=null;
try{
//--Getholdofthedefaultsession--
Propertiesprops=System.getProperties();
Sessionsession=Session.getDefaultInstance(props,null);
//--GetholdofaPOP3messagestore,andconnecttoit--
store=session.getStore("pop3");
store.connect(popServer,popUser,popPassword);
//--Trytogetholdofthedefaultfolder--
folder=store.getDefaultFolder();
if(folder==null)thrownewException("Nodefaultfolder");
//--...anditsINBOX--
folder=folder.getFolder("INBOX");
if(folder==null)thrownewException("NoPOP3INBOX");
//--Openthefolderforreadonly--
folder.open(Folder.READ_ONLY);
//--Getthemessagewrappersandprocessthem--
Message[]msgs=folder.getMessages();
for(intmsgNum=0;msgNum<msgs.length;msgNum++){
printMessage(msgs);
}
}catch(Exceptionex){
ex.printStackTrace();
}
finally{
//--Closedownnicely--
try{
if(folder!=null)folder.close(false);
if(store!=null)store.close();
}catch(Exceptionex2){
ex2.printStackTrace();
}
}
}
/**
*"printMessage()"methodtoprintamessage.
*/
publicstaticvoidprintMessage(Messagemessage){
try{
//Gettheheaderinformation
Stringfrom=((InternetAddress)message.getFrom()).getPersonal();
if(from==null)from=((InternetAddress)message.getFrom()).getAddress();
System.out.println("FROM:"+from);
Stringsubject=message.getSubject();
System.out.println("SUBJECT:"+subject);
//--Getthemessagepart(i.e.themessageitself)--
PartmessagePart=message;
Objectcontent=messagePart.getContent();
//--oritsfirstbodypartifitisamultipartmessage--
if(contentinstanceofMultipart){
messagePart=((Multipart)content).getBodyPart(0);
System.out.println("");
}
//--Getthecontenttype--
StringcontentType=messagePart.getContentType();
//--Ifthecontentisplaintext,wecanprintit--
System.out.println("CONTENT:"+contentType);
if(contentType.startsWith("text/plain")||
contentType.startsWith("text/html")){
InputStreamis=messagePart.getInputStream();
BufferedReaderreader=newBufferedReader(newInputStreamReader(is));
StringthisLine=reader.readLine();
while(thisLine!=null){
System.out.println(thisLine);
thisLine=reader.readLine();
}
}
System.out.println("-----------------------------");
}catch(Exceptionex){
ex.printStackTrace();
}
}
}
学习JAVA的目的更多的是培养自身的工作能力,我觉得工作能力的一个核心就是:独立思考能力,因为只有独立思考后,才会有自己的见解 Java 不同于一般的编译执行计算机语言和解释执行计算机语言。它首先将源代码编译成二进制字节码(bytecode),然后依赖各种不同平台上的虚拟机来解释执行字节码。从而实现了“一次编译、到处执行”的跨平台特性。 关于设计模式的资料,还是向大家推荐banq的网站 http://www.jdon.com/,他把GOF的23种模式以通俗易懂的方式诠释出来,纯Java描述,真是经典中的经典。 有时间再研究一下MVC结构(把Model-View-Control分离开的设计思想) Java语言支持Internet应用的开发,在基本的Java应用编程接口中有一个网络应用编程接口(java net),它提供了用于网络应用编程的类库,包括URL、URLConnection、Socket、ServerSocket等。Java的RMI(远程方法激活)机制也是开发分布式应用的重要手段。 不过,每次的执行编译后的字节码需要消耗一定的时间,这同时也在一定程度上降低了 Java 程序的运行效率。 是一种突破用户端机器环境和CPU 是一种简化的C++语言 是一种安全的语言,具有阻绝计算机病毒传输的功能 是一种使网页(Web Page)由静态(Static)转变为动态(Dynamic)的语言 多重继承(以接口取代)等特性,增加了垃圾回收器功能用于回收不再被引用的对象所占据的内存空间,使得程序员不用再为内存管理而担忧。在 Java 1.5 版本中,Java 又引入了泛型编程(Generic Programming)、类型安全的枚举、不定长参数和自动装/拆箱等语言特性。
页:
[1]