那些是老師隨堂講的,估計(jì)只有跟堂的學(xué)生用,老師自己也許都沒(méi)有~~~~~~~~~~~~`
網(wǎng)站建設(shè)哪家好,找創(chuàng)新互聯(lián)建站!專(zhuān)注于網(wǎng)頁(yè)設(shè)計(jì)、網(wǎng)站建設(shè)、微信開(kāi)發(fā)、小程序開(kāi)發(fā)、集團(tuán)企業(yè)網(wǎng)站建設(shè)等服務(wù)項(xiàng)目。為回饋新老客戶(hù)創(chuàng)新互聯(lián)還提供了汾陽(yáng)免費(fèi)建站歡迎大家使用!
程序清單 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類(lèi) 將看到服務(wù)器一直處于等待狀態(tài) 因?yàn)榉?wù)器使用了死循環(huán)來(lái)接受來(lái)自客戶(hù)端的請(qǐng)求 再運(yùn)行Client類(lèi) 將可看到程序輸出 來(lái)自服務(wù)器的數(shù)據(jù) 您好 您收到了服務(wù)器的新年祝福! 這表明客戶(hù)端和服務(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)行讀 寫(xiě)操作完成之前已經(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
你想要的是這個(gè)效果嗎?
*******
******
*****
****
***
**
*
代碼如下:
public class SanJiao {
public static void main(String[] args) {
for(int i=0;i7;i++){
for(int j=0;j7-i;j++){
System.out.print("*");
}
System.out.println();
}
}
}
f.addWindowListener(參數(shù)類(lèi)型錯(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)
你明白了嗎?
瘋狂Java品牌專(zhuān)注高級(jí)軟件編程,以“十年磨一劍”的心態(tài)打造全中國(guó)最強(qiáng)(不是之一)瘋狂Java學(xué)習(xí)體系:包括瘋狂Java體系原創(chuàng)圖書(shū),瘋狂Java學(xué)習(xí)路線圖,這些深厚的知識(shí)沉淀已被大量高校、培訓(xùn)機(jī)構(gòu)奉為經(jīng)典。
不少培訓(xùn)機(jī)構(gòu)直接把瘋狂Java學(xué)習(xí)路線圖進(jìn)行一下簡(jiǎn)單修改,然后就稱(chēng)為自己的培訓(xùn)路線圖。瘋狂Java對(duì)這種剽竊他人成果,不做任何說(shuō)明、欺騙學(xué)生行為表示強(qiáng)烈譴責(zé)!同時(shí)也歡迎廣大學(xué)習(xí)者舉報(bào)這種可恥的剽竊行為,一經(jīng)查實(shí),瘋狂Java將會(huì)對(duì)舉報(bào)的首個(gè)人給予相應(yīng)的獎(jiǎng)勵(lì)!
瘋狂Java懷抱“軟件強(qiáng)國(guó)”的理想,立志以務(wù)實(shí)的技術(shù)來(lái)改變中國(guó)的軟件教育。經(jīng)過(guò)八年沉淀,瘋狂Java強(qiáng)勢(shì)回歸。瘋狂Java創(chuàng)始人李剛,攜瘋狂Java精英講師團(tuán)隊(duì)肖文吉、李韓飛、蔡世友、黃勇、陳輝等老師將帶給廣大學(xué)習(xí)者“非一般”的瘋狂。
瘋狂Java在前兩年的培訓(xùn)過(guò)程中,憑借自身強(qiáng)悍的師資、一流的課程、真實(shí)的項(xiàng)目、超高的就業(yè)率已經(jīng)讓廣大南方學(xué)子成功走上軟件工程師職業(yè)道路。大量畢業(yè)即失業(yè)的學(xué)子已通過(guò)瘋狂Java實(shí)現(xiàn)了就業(yè)。
瘋狂Java師資陣容強(qiáng)大,由國(guó)內(nèi)著名瘋狂Java體系書(shū)籍作者李剛老師擔(dān)綱首席講師,瘋狂Java精英講師團(tuán)隊(duì)肖文吉、李韓飛、蔡世友、黃勇、陳輝等現(xiàn)場(chǎng)授課。還有大量具有豐富實(shí)戰(zhàn)經(jīng)驗(yàn)的老師同臺(tái)授課,瘋狂Java的教學(xué)質(zhì)量只能用兩個(gè)字形容:“強(qiáng)悍”,用三個(gè)字形容就是:“太強(qiáng)悍”。
李剛老師
從事10多年的Java EE應(yīng)用開(kāi)發(fā),瘋狂軟件教育集團(tuán)教學(xué)總監(jiān),瘋狂Java實(shí)訓(xùn)營(yíng)創(chuàng)始人,瘋狂Java體系原創(chuàng)圖書(shū)作者。曾任LITEON公司的J2EE技術(shù)主管,負(fù)責(zé)該公司的企業(yè)信息化平臺(tái)的架構(gòu)設(shè)計(jì)。
曾任廣州電信、廣東龍泉科技等公司的技術(shù)培訓(xùn)導(dǎo)師。曾兼任廣東技術(shù)師范學(xué)院計(jì)算機(jī)科學(xué)系的兼職副教授。 培訓(xùn)的學(xué)生已在華為、立信、普信、網(wǎng)易、電信盈科等公司就職。
國(guó)內(nèi)著名的高端IT技術(shù)作家,已出版《瘋狂Java講義》、《瘋狂Android講義》、《輕量級(jí)Java EE企業(yè)應(yīng)用實(shí)戰(zhàn)》、《瘋狂Ajax講義》、《瘋狂XML講義》、《經(jīng)典Java EE企業(yè)應(yīng)用實(shí)戰(zhàn)》、《Struts 2.1權(quán)威指南》、《Ruby On Rails敏捷開(kāi)發(fā)最佳實(shí)踐》等著作。其中瘋狂Java體系圖書(shū)都是已經(jīng)得到廣泛的市場(chǎng)認(rèn)同,并多次重印的暢銷(xiāo)圖書(shū),并被多家高校選作教材,部分圖書(shū)已被翻譯成繁體中文版、輸出到臺(tái)灣地區(qū)。
分享標(biāo)題:瘋狂java全代碼 瘋狂的代碼
本文路徑:http://aaarwkj.com/article42/doodihc.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供關(guān)鍵詞優(yōu)化、小程序開(kāi)發(fā)、網(wǎng)站維護(hù)、定制網(wǎng)站、服務(wù)器托管、用戶(hù)體驗(yàn)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶(hù)投稿、用戶(hù)轉(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)
猜你還喜歡下面的內(nèi)容