?? clientsend.java
字號:
package org.hwmhere.email.client;
import java.io.*;
import java.net.*;
import java.util.ArrayList;
import java.util.Collection;
import org.hwmhere.email.EmailConstant;
import org.hwmhere.email.impl.Email;
import org.hwmhere.email.mailet.MailAddress;
import org.hwmhere.udp.send.*;
public class ClientSend {
private String sendPath;
private String name;
private Email email;
private InetAddress server;
private int serverPort;
private MailAddress sender;
/**
* @param sendPath
* @param receiver
* @param sender
* @param email
*/
public ClientSend(String sendPath,MailAddress sender) {
this.sendPath = sendPath;
this.sender = sender;
}
public void send(MailAddress receiver, Email email) throws Exception {
this.server = getServer(receiver);
this.serverPort = getServerPort(receiver);
this.email = email;
File dFile = new File(sendPath);
if (!dFile.exists()) {
dFile.mkdirs();
}
// 寫入Email文件
File sendMail = new File(sendPath + email.getSender().toString()+email.hashCode() + ".email");
FileOutputStream fileOutputStream = new FileOutputStream(sendMail);
ObjectOutputStream oos = new ObjectOutputStream(fileOutputStream);
oos.writeObject(email);
fileOutputStream.close();
oos.close();
// 讀出
System.out.println("Email文件長度" + sendMail.length());
byte[] b = new byte[(int) sendMail.length()];
FileInputStream fis = new FileInputStream(sendMail);
// 用來發送
fis.read(b);
RUDPSender updSender = new RUDPSender(server, serverPort, b);
updSender.send();
}
public static void main(String args[]) throws Exception {
String sendPath = "D:/test/send/";
String name = "helo";
MailAddress sender = new MailAddress("user@localhost");
Collection recipients = new ArrayList();
recipients.add(new MailAddress("bob@localhost"));
String message = "hello.mail";
Email email = new Email(name, sender, recipients, message.getBytes());
email.setAttribute("content", "hello,it's a email");
// 寫入Email文件
File sendMail = new File(sendPath + email.getSender().toString()+email.hashCode() + ".email");
FileOutputStream fileOutputStream = new FileOutputStream(sendMail);
ObjectOutputStream oos = new ObjectOutputStream(fileOutputStream);
oos.writeObject(email);
fileOutputStream.close();
oos.close();
// 讀出
System.out.println("Email文件長度" + sendMail.length());
byte[] b = new byte[(int) sendMail.length()];
FileInputStream fis = new FileInputStream(sendMail);
// 恢復email類
// FileInputStream fis = new FileInputStream(sendMail);
// ObjectInputStream ois = new ObjectInputStream(fis);
// Email mailTo = (Email) ois.readObject();
// System.out.println("to:" + mailTo.getAttribute("content"));
// System.out.println("to:" + new String(mailTo.getMessage()));
// fis.close();
// ois.close();
// fis = new FileInputStream(sendMail);
// 用來發送
fis.read(b);
System.out.println("一共發送字節數:" + b.length);
System.out.println("每個包包含字節數:" + 512);
System.out.println("所以一共有:" + (b.length / 512 + 1) + "個包");
InetAddress server = InetAddress.getByName("localhost");
RUDPSender updSender = new RUDPSender(server, 6790, b);
updSender.send();
}
public Email getEmail() {
return email;
}
public void setEmail(Email email) {
this.email = email;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getSendPath() {
return sendPath;
}
public void setSendPath(String sendPath) {
this.sendPath = sendPath;
}
public InetAddress getServer(MailAddress receiver)
throws UnknownHostException {
return InetAddress.getByName(receiver.getHost());
}
public void setServer(InetAddress server) {
this.server = server;
}
public int getServerPort(MailAddress receiver) {
return 6790;
}
this.serverPort = serverPort;
}
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -