首先你要知道Set是一個(gè)接口,這個(gè)接口的約定就是存儲(chǔ)內(nèi)容是個(gè):無(wú)重復(fù)元素的集合
公司主營(yíng)業(yè)務(wù):成都網(wǎng)站設(shè)計(jì)、網(wǎng)站制作、移動(dòng)網(wǎng)站開發(fā)等業(yè)務(wù)。幫助企業(yè)客戶真正實(shí)現(xiàn)互聯(lián)網(wǎng)宣傳,提高企業(yè)的競(jìng)爭(zhēng)能力。成都創(chuàng)新互聯(lián)是一支青春激揚(yáng)、勤奮敬業(yè)、活力青春激揚(yáng)、勤奮敬業(yè)、活力澎湃、和諧高效的團(tuán)隊(duì)。公司秉承以“開放、自由、嚴(yán)謹(jǐn)、自律”為核心的企業(yè)文化,感謝他們對(duì)我們的高要求,感謝他們從不同領(lǐng)域給我們帶來(lái)的挑戰(zhàn),讓我們激情的團(tuán)隊(duì)有機(jī)會(huì)用頭腦與智慧不斷的給客戶帶來(lái)驚喜。成都創(chuàng)新互聯(lián)推出雷山免費(fèi)做網(wǎng)站回饋大家。
它當(dāng)然就是沒(méi)有順序的
f.addWindowListener(參數(shù)類型錯(cuò)誤);MyListener繼承了你自己定義的WindowAdapter,但是要求的參數(shù)是WindowListener,java.awt.event.WindowAdapter才繼承了WindowListener。
package?learnAWT;
import?java.awt.*;
//import?java.awt.event.WindowAdapter;
import?java.awt.event.WindowEvent;
public?class?WindowAdapter?{
private?Frame?f??=?new?Frame("test");
private?TextArea?ta?=?new?TextArea(5,30);
class?MyListener?extends?java.awt.event.WindowAdapter
{
}
public?void?init()
{
f.addWindowListener(new?MyListener());//addWindowListener報(bào)錯(cuò),
f.add(ta,BorderLayout.NORTH);
f.pack();
f.setVisible(true);
}
public?static?void?main(String?[]args)
{
new??WindowAdapter().init();
}????
}
這樣就行了。
Java項(xiàng)目的源代碼通過(guò)一下四部完成導(dǎo)入到eclipse
1、單擊eclipse的file菜單 ,選擇 import project from file system
2、在彈出的窗口單擊 diretory 按鈕? 選擇?Java源代碼文件系統(tǒng)所在的目錄
3、單擊“選擇文件夾 ”完成將java源代碼導(dǎo)入到eclispe系統(tǒng)
你明白了嗎?
程序清單 codes/ / /Client java
public class Client
{
public static void main(String[] args)
throws IOException
{
Socket socket = new Socket( )
//將Socket對(duì)應(yīng)的輸入流包裝成BufferedReader
BufferedReader br = new BufferedReader(
new InputStreamReader(socket getInputStream()))
//進(jìn)行普通IO操作
String line = br readLine()
System out println( 來(lái)自服務(wù)器的數(shù)據(jù) + line)
//關(guān)閉輸入流 socket
br close()
socket close()
}
}
上面程序中粗體字代碼是使用ServerSocket和Socket建立網(wǎng)絡(luò)連接的代碼 斜體字代碼是通過(guò)Socket獲取輸入流 輸出流進(jìn)行通信的代碼 通過(guò)程序不難看出 一旦使用ServerSocket Socket建立網(wǎng)絡(luò)連接之后 程序通過(guò)網(wǎng)絡(luò)通信與普通IO并沒(méi)有太大的區(qū)別
先運(yùn)行上面程序中的Server類 將看到服務(wù)器一直處于等待狀態(tài) 因?yàn)榉?wù)器使用了死循環(huán)來(lái)接受來(lái)自客戶端的請(qǐng)求 再運(yùn)行Client類 將可看到程序輸出 來(lái)自服務(wù)器的數(shù)據(jù) 您好 您收到了服務(wù)器的新年祝福! 這表明客戶端和服務(wù)器端通信成功
上面程序?yàn)榱送怀鐾ㄟ^(guò)ServerSocket和Socket建立連接 并通過(guò)底層IO流進(jìn)行通信的主題 程序沒(méi)有進(jìn)行異常處理 也沒(méi)有使用finally塊來(lái)關(guān)閉資源
實(shí)際應(yīng)用中 程序可能不想讓執(zhí)行網(wǎng)絡(luò)連接 讀取服務(wù)器數(shù)據(jù)的進(jìn)程一直阻塞 而是希望當(dāng)網(wǎng)絡(luò)連接 讀取操作超過(guò)合理時(shí)間之后 系統(tǒng)自動(dòng)認(rèn)為該操作失敗 這個(gè)合理時(shí)間就是超時(shí)時(shí)長(zhǎng) Socket對(duì)象提供了一個(gè)setSoTimeout(int timeout)來(lái)設(shè)置超時(shí)時(shí)長(zhǎng) 如下的代碼片段所示
Socket s = new Socket( )
//設(shè)置 秒之后即認(rèn)為超時(shí)
s setSoTimeout( )
當(dāng)我們?yōu)镾ocket對(duì)象指定了超時(shí)時(shí)長(zhǎng)之后 如果在使用Socket進(jìn)行讀 寫操作完成之前已經(jīng)超出了該時(shí)間限制 那么這些方法就會(huì)拋出SocketTimeoutException異常 程序可以對(duì)該異常進(jìn)行捕捉 并進(jìn)行適當(dāng)處理 如下代碼所示
try
{
//使用Scanner來(lái)讀取網(wǎng)絡(luò)輸入流中的數(shù)據(jù)
Scanner scan = new Scanner(s getInputStream())
//讀取一行字符
String line = scan nextLine()
…
}
//捕捉SocketTimeoutException異常
catch(SocketTimeoutException ex)
{
//對(duì)異常進(jìn)行處理
…
}
假設(shè)程序需要為Socket連接服務(wù)器時(shí)指定超時(shí)時(shí)長(zhǎng) 即經(jīng)過(guò)指定時(shí)間后 如果該Socket還未連接到遠(yuǎn)程服務(wù)器 則系統(tǒng)認(rèn)為該Socket連接超時(shí) 但Socket的所有構(gòu)造器里都沒(méi)有提供指定超時(shí)時(shí)長(zhǎng)的參數(shù) 所以程序應(yīng)該先創(chuàng)建一個(gè)無(wú)連接的Socket 再調(diào)用Socket的connect()方法來(lái)連接遠(yuǎn)程服務(wù)器 而connect方法就可以接受一個(gè)超時(shí)時(shí)長(zhǎng)參數(shù) 如下代碼所示
//創(chuàng)建一個(gè)無(wú)連接的Socket
Socket s = new Socket()
//讓該Socket連接到遠(yuǎn)程服務(wù)器 如果經(jīng)過(guò) 秒還沒(méi)有連接到 則認(rèn)為連接超時(shí)
s connconnect(new InetAddress(host port) )
返回目錄 瘋狂Java講義
編輯推薦
Java程序性能優(yōu)化 讓你的Java程序更快 更穩(wěn)定
新手學(xué)Java 編程
Java程序設(shè)計(jì)培訓(xùn)視頻教程
lishixinzhi/Article/program/Java/hx/201311/27265
分享名稱:瘋狂java3中的代碼的簡(jiǎn)單介紹
URL網(wǎng)址:http://chinadenli.net/article48/dogsgep.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供App設(shè)計(jì)、網(wǎng)站設(shè)計(jì)公司、營(yíng)銷型網(wǎng)站建設(shè)、App開發(fā)、定制開發(fā)、品牌網(wǎng)站制作
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)