Java讀取郵件的辦法。本站提示廣大學習愛好者:(Java讀取郵件的辦法)文章只能為提供參考,不一定能成為您想要的結果。以下是Java讀取郵件的辦法正文
本文實例講述了Java讀取郵件的辦法。分享給年夜家供年夜家參考。詳細完成辦法以下:
public void receive() throws Exception {
Log.e(tag, "receive()");
// sharedpreference讀取數據,用split()辦法,離開字符串。
SharedPreferences pre = getSharedPreferences("SAVE_INFORMATION",MODE_WORLD_READABLE);
String content = "name;pass";//pre.getString("save", "");
String[] Information = content.split(";");
String username = Information[0];
String password = Information[1];
Properties props = new Properties();
Session session = Session.getDefaultInstance(props);
// 獲得pop3協定的郵件辦事器
Store store = session.getStore("pop3");
// 銜接pop.163.com郵件辦事器
store.connect("pop.163.com", username, password);
// 前往文件夾對象
Folder folder = store.getFolder("INBOX");
// 設置僅讀
folder.open(Folder.READ_ONLY);
// 獲得信息
Message message[] = folder.getMessages();
for(int j=0; j<message.length; j++) {
Log.e(tag, "message[i].getSubject()="+message[j].getSubject());
Log.e(tag, "message[i].getContent()="+message[j].getContent());
}
folder.close(true);
store.close();
}
願望本文所述對年夜家的Java法式設計有所贊助。
變量。所以一個典范的閉包的構造包括兩個函數:一個是閉包本身;另外一個是工場(創立閉包的函數)。迭代器須要保存上一次勝利挪用的狀況和下一次勝利挪用的狀況,也就是他曉得來自於哪裡和將要前去哪裡。閉包供給的機制可以很輕易完成這個義務。Lua函數閉包與C函數的比擬:Lua函數閉包使函數具有堅持它本身的狀況的才能,從這個意義上說,可以與帶靜態部分變量的C函數相類比。但兩者有明顯的分歧:對Lua來講,函數是一種根本數據類型——代表一種(可履行)對象,可以有本身的狀況;然則對帶靜態部分變量的C函數來講,它其實不是C的一種數據類型,更不會發生甚麼對象實例,它只是一個靜態地址的符號稱號。
基於對象的完成方法
function create(name,id)
local data={name = name,id=id};
local obj={};
function obj.GetName()
return data.name;
end
function obj.GetID()
return data.id;
end
function obj.SetName(name)
data.name=name;
end
function obj.SetID(id)
data.id=id
end
return obj;
end
o1 = create("Sam", 001)
o2 = create("Bob", 007)
o1.SetID(100)
print("o1's id:", o1.GetID(), "o2's id:",o2.GetID())
o2.SetName("Lucy")
print("o1's name:", o1.GetName(),"o2's name:", o2.GetName())
--o1's id: 100 o2's id: 7
--o1's name: Sam o2's name: Lucy
完成方法:把須要隱蔽的成員放在一張內外,把該表作為成員函數的upvalue。
局限性:基於對象的完成不觸及繼續及多態。但另外一方面,劇本編程能否須要繼續和多態要視情形而定。
元表
t = {}
m = { a = " and ", b = "Li Lei", c = "Han Meimei" }
setmetatable(t, { __index = m}) --表{ __index=m }作為表t的元表
for k, v in pairs(t) do --窮舉表t
print(v)
end
print("-------------")
print(t.b, t.a, t.c)
--輸入成果
---------------
--Li Lei and Han Meimei
function add(t1, t2)
--‘#'運算符取表長度
assert(#t1 == #t2)
local length = #t1
for i = 1, length do
t1[i] = t1[i] + t2[i]
end
return t1
end
--setmetatable前往被設置的表
t1 = setmetatable({ 1, 2, 3}, { __add = add })
t2 = setmetatable({ 10, 20, 30 }, {__add = add })
t1 = t1 + t2
for i = 1, #t1 do
print(t1[i])
end
--11
--22
--33
界說:元表自己只是一個通俗的表,經由過程特定的辦法(好比setmetatable)設置到某個對象上,進而影響這個對象的行動;一個對象有哪些行動遭到元表影響和這些行動依照何種方法遭到影響是受Lua說話束縛的。好比在後面的代碼裡,兩個表對象的加法運算,假如沒有元表的干涉,就是一種毛病;然則Lua劃定了元表可以“重載”對象的加法運算符,是以若把界說了加法運算的元表設置到那兩個表上,它們便可以做加法了。元表是Lua最症結的概念之一,內容也很豐碩,請參考Lua文檔懂得概況。
元表與C++虛表的比擬:假如把表比尴尬刁難象,元表就是可以轉變對象行動的“元”對象。在某種水平上,元表可以與C++的虛表做一類比。但兩者照樣迥然分歧的:元表可以靜態的轉變,C++虛表是靜態不變的;元表可以影響表(和其他類型的對象)的許多方面的行動,虛表重要是為了定位對象的虛辦法(最多再帶上一點點RTTI)。