java网络编程复习题_第1页
java网络编程复习题_第2页
java网络编程复习题_第3页
java网络编程复习题_第4页
java网络编程复习题_第5页
已阅读5页,还剩10页未读 继续免费阅读

付费下载

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、J ava网络编程期末复习题(I/O、多线程、网络编程、数据库操作)一单选题1、下列关于Java线程得说法那些就是正确得()A、每一个Java线程可以瞧成由代码、一个真实得 CPU以及数据三部份组成。B、创建线程得两种方法中,从T h r ea d类中继承得创建方式可以防止出现多父类问题。C、T h read类属于j ava、u ti 1程序包。D、以上说法无一正确。2、运行下列程序,会产生什么结果?()public classX ex ten d s Th read implem e nts Runa b 1 e pu blic void run() S ystem、o ut、p r i n

2、 tl n ("t his i s u un()");pu b 1 ic sta t ic void ma i n (String arg s ) Thread t= n ew T h r e ad (new X ();t、star t ();A、第一行会产生编译错误B、第六行会产生编译错误C、第六行会产生运行错误D、程序会运行与启动3、下列选项中,用于定义接口得关键字就是()?A> importB、i m p l e me n tsC、int e r f aceD、p r otected4 .定义类头时能使用得修饰符就是()。?A) p r i vate B) st

3、 at ic C) a b s trac t D) p r otectc d?5、下面哪个方法不可以在任何时候被任何线程调用?()A、wa it()B、s leep()C、yiel d()D、synchronize d(this)6、下列关于线程优先级得说法中,正确得就是A)线程得优先级就是不能改变得B) 线程得优先级就是在创建线程时设置得0 在创建线程后得任何时候都可以设置D) B 与 C7、线程生命周期中正确得状态就是A)新建状态、运行状态与终止状态B)新建状态、运行状态、阻塞状态与终止状态C)新建状态、可运行状态、运行状态、阻塞状态与终止状态D)新建状态、可运行状态、运行状态、恢复状态与

4、终止状态8、Th r e a d类中能运行线程体得方法就是A) s tar t ()? r esume()C) init () ? D) ru n ()9在程序读入字符文件时,能够以该文件作为直接参数得类就是A) ? ? B) Buff eredRe a derC)D) O b j ec tIn p ut S t r eam10)jav a、i o包彳导Fi 1 e类就是A)字符流类?B )字节流类C) 对象流类??? D)非流类11)下列描述中,正确得就是A)在Ser i al i za b le接口中定义了抽象方法B)在Seri a liz able接口中定义了常量C)在Se rializ

5、abl e接口中没有定义抽象方法,也没有定义常量D) 在Se r i alizab 1 e接口中定义了成员方法 12、 ja v a中用于创建文件对象得类就是()A.File B、 Obje c t C、 T hread D、 Fram e13、从键盘上输入一个字符串创建文件对象,若要判断该文件对象为目录文件或数据文件,可使用下列哪个方法?()A. getPath()B、 getName()C、i sFile() D、 is Ab solut e ()14、下列哪个类不对直接创建对象?()A . I n p utStream B、C、B uff e r e dIn p u tStre am D

6、、 Da tai n put Stream1 5、法?(从键盘上输入多个字符时,为了避免回车换行符得影响,需要使用下列哪个流方)A .writ e () B、 flush。 C、 cl o se () D、 s k i p()16、 以对象为单位把某个对象写入文件,则需要使用什么方法?()C、wr i te ( )D、wr i t?( )C、 ObjectOut p u t S t ream、A、 w r ite I nt() B wr i t eObj e c t() UTF()17、下列哪个类得方法能够直接把简单数据类型写入文件 A.OutputS t r e a m B、 Buffere

7、dW r i t e rD、18、若一个类对象能被整体写入文件,则定义该类时必须实现下列哪个接口?()A> Ru n nab le B、 A ct i o nList e ner C、 Wind owsAdapt e r D、Seria 1 i z able19、下列哪种类型得数据能以对象得形式写入文件?()A. S tri n g B、 F r ame C、 D ialog D、 Butto n20、 File类得方法中,用于列举某目录下得子目录及文件得方法就是()A. long length。 B、long last Modi f ied()C、 String 口 list。 D、S

8、 t rin g g e tName() 21、能够以字符串为单位写入文件数据得流类就是()A、 B、 C、 Buffer edWri ter C、 Output S t re a m22、能够向文件输入逻辑型数据得类就是:()A、 B、 Ou t p utStr e am C、D、Data O utp u tStream2 3、在线程同步中,为了唤醒另一个等待得线程,使用下列方法()A、 sleep() B、 wait() C not ify( ) D、 j oin () 24、为了得到当前正在运行得线程,可使用下列哪个方法?()A.get N a me() B、Thread、C urren

9、tT hr e ad()> B、 s 1 e e p() D、 run()2 5、 以下()不属于线程得状态。A.就绪状态Bo运行状态Co挂起状态Do独占状态26 .当线程被创建后淇所处得状态就是()A.阻塞状态Bo运行状态C、就绪状态D、新建状态27 .当线程调用st a rt ()后,其所处状态为()A.阻塞状态Bo运行状态C、就绪状态D、新建状态28 . Thread、sleep ()方法调用后,当等待时间未到,该线程所处状态为()A.阻塞状态Bo运行状态C、就绪状态D、新建状态29 .新生状态得线程其可能直接进入得状态就是()A.阻塞状态B、运行状态C、新建状态D、结束状态30

10、. Thread、sl e ep()方法调用后,当等待时间已到,该线程所处状态为()A.阻塞状态Bo运行状态C、就绪状态D、新建状态31 .当线程因异常而退出run()后淇所处X犬态为()A.阻塞状态Bo运行状态C、就绪状态D、结束状态32 . wai t()方法首先就是哪个类得方法?()A、 Object B、 Thread、 C、 Runn able D、如果我们想实现 先把要写入文件得数据先缓存到内存中,再把缓存中得数据写入文件中 ”得功能时则需要使用下列哪个类 ?()A、 B、 O utp u t S tream C、 Filt erOut put St ream D、 Data O

11、utputStre a m34、用re a d ()方法读取文件内容时,判断文件结束得标记为()A、 0 B、 1 C - 1 D、无标记35 .以下哪个方法只对使用了缓冲得流类起作用?()A、 read () B、 w r i t e() C ski p () D、 flush ()3 6、 J ava提供得类I netA d d ress来进行有关In t erne t地址得操作、()A、 Socket B、Ser verS ocket C、 Datagr amSock e t D I n etAd d re s s37、 I ne t Addre s s类中哪个方法可实现正向名称解析?(

12、)A、 i sReacha ble() B、 getHo s t Ad dr ess () C、 getH osstN a me () D、getB yName()38、 为了获取远程主机得文件内容,当创建URL对象后,需要使用哪个方法获取信息()A、getPort() B、getHo s tC、o pens t ream() D、open Connection()39、java程序中使用TC P套接字编写服务端程序得套接字类就是()A、 Sock e t B、 Servers ock et C、 DatagramS o c ket D、Da t a gr a mPacke t40、 Ser

13、verSocke t得监听方法a c cept()得返回值类型就是()A、 vo i d B、Obj e ct C、 Socket D、 Data g ramSoc ket41、 Serve r Socket 得 g e tI n e t Addr ess ()得返回值类型就是()A、 Socket B ServerS o cket D> I n e tAdd r ess D,、U RL42、 当使用客户端套接字 Socket创建对象时,需要指定()A.服务器主机名称与端口B、服务器端口与文件C、服务器名称与文件D.服务器地址与文件43、 使用流式套接字编程时,为了向对方发送数据 则需要

14、使用哪个方法()A.g e t Ine t Ad d ress() B、 g e tLocalPo r t ()C、getOu t pu t Stre a m () D、get In p u tStrc am() 44、使用U DP套接字通信时,常用哪个类把要发送得信息打包?()A、 Str in g B、 D atagramSoc ke t C、 Multicast S ock e t D、Da t a g r amPack et45、使用UDP套接字通信时,哪个方法用于接收数据()A、 r ead () B、 rec eivc () C、 a ccept() D、 Li s t e n (

15、) 46、若要取得数据包得中源地址,可使用下列哪个语句()?A . getA d d r ess () B、 getP o rt()C、 getNam e()D> g e t Data()4 7、要使用java程序访问数据库 则必须首先与数据库建立连接, 在建立连接前,应加载 数据库驱动程序,该语句为()A Class、f o r N a m e ( sun、jdbc、o dbc、J d b c Od b c Dri v er")B、 Driv e rMa n ag e > g e t C onn e c ti o n(";";")'

16、C、Re sult r s = Dri v erM an a g e、getC o nnec t i on(" 、c r e a teStatement()D、S t a tement s t= DriverManage、gc t Connec tio n (;" )'、cr eat eSt a emen t () 48、要使用java程序访问数据库,则必须首先与数据库建立连接,该语句为()A C 1 ass、f o rN a me( "s un、j d bc、odbc、J dbcOdbcDriv e r")B、 Driver M anage&g

17、t; g etConnection(";";")'C、R e s u 1 t rs= D r iv e rM a nag e、getConnec t i o n ( "; " :" )'、c re a teS t at e m e n t ()D、St at e men t st= Dr iverMa n age、g e t C o nnection ( “;")'、c r eateStae ment() 4 9、 j a v a程序与数据库连接后,需要查瞧某个表中得数据,使用下列哪个语句?()A、

18、exe c uteQ u e r y()B、 e xecu t eUpdate。 C execu t e E d it () D> e x ec ut e Sele c t()5 0、ja v a程序与数据库连接后,需要查瞧某个表中得数据,使用下列哪个语句?()A、 exec uteQuery ()B、exec u t eUpdate () C execut e Ed i t() D、execut eS e lect()二、填空题I.Stdou t System、o u t作为Pr i ntStream 得实例,来实现stdou t ,它代表得就是 JU 帚2. S tdin Sy s

19、tem、in作为In p utStre - m类得一个实例来实现 std i n,它代表得就是 鲤 盘,您可以使用其中两个成员函数 ,rea d ()让您从输入中读一个字节 ,sk i p( 1 ong n ) 让您在输入中跳过n个字节。3. Java中得I O流分为两种,一种就是字节流,另一种就是 字符流,分别由四个抽象类来表 示(每种流包括输入与输出两种所以一共四个):In p utStr earn, OutputSt ream,Re a de r ,Writer。它们通过重载r e ad()与write()方法定义了 6个读写操作方法。4. File类不就是一彳固檄型得 I/O类,在j

20、a va、io类库中它就是唯一得n on-stream «别,既不能取文件内容,也不能修改文件内容,主要作用就是收集槽案(或目金景)得相信 息,例如:建立文件对象、修改文件名、设置文件属性、测试文件属性5. .目录就是一个包含其她文件与路径列表得Fe 类。当您创建一个 F ile对象且它就是目录时,is D i rec t ory ()方法返回tur e。这种情况下,可以调用该对象得 Strin g lis t ()方法来提取该目录内部其她文件与目录得列表6、 所有得输出过滤流都就是抽象类_ _ _得子类。(FilterOutputStream)7、字符输入流 Bu f fer e

21、d Reader 使用了技术。(Pr i nt Stre am)8、 I n putS t r e amRe a d er 负责将 In p utStr e am 转化成 R e a d e r,而 O utput S trea m Write r则将 Ou t putStr e am转化成 W r i t er。实际上就是通过 byte 与 Stri ng来关联。9、设a、tx t为当前目录下得一个文本文件,则以字符方式向该文件写数据时,需要建立得输出流通道为 :new ( a、txt");10、随机访问文件类就是RandomA c cess F i le,它实现了与 DataIn

22、pu t S t r e a m,D a taO u t p utStr e am 类同样实现得接口 Da t a I n p ut, Data O utput、。1 1.实现多线程得两种方式就是:1、继承 Thr e ad类;2、实现 Runnab 1 e接口。2、取得当前线程得语句就是:T h re a d、c urre ntThread ();13.主线程得名称就是main,默认创建得第一个子线程得名称就是t hread 01 4、 可以调用 T h r e ad类得方法 getPr i o r i t y()与setPriority()来存取线程得优先 级,线程得优先级界于 1(MIN

23、 PR I ORIT Y)与1 0 (MAX P R I ORI T Y)之间,缺省就是 5(NORM PR I OR I TY)。15、(1 )当多个线程同时运行时,会产生数据错误及其它冲突问题。Java语言提供了线程同步控制机制,一就是 锁定共享资源,使得在任何时刻只有一个线程能够访问共享资源,以保持共享资源得完整与一致,二就是让互相通信得线程 运行,以保证通信得正确性。(2)线程之间得通信有两种方法:一就是把共享变量与方法封闭在一个类中,二就是利用系统方法 与 控制线程通信、实现对共享资源互拆访问得方法就是在方法声明中加入sync hroni z ed关键字来声明一个访问共享资源得方法,

24、或者通过 synchro n ized关键字来声明 syn ch r onized 块。16、守护线程一般被用于在后台为其它线程提供服务。调用方法isDaemon ()来判断一个线程就是否就是守护线程,也可以调用方法s c tD aemon()将一个线程设为守护线程。?17、InetAddress就是用于封装IP地址与D NS得一个类。18、TCP/IP套接字就是最可靠得双向流协议。等待客户端得服务器使用S e r verSoc ket类,而要连接到服务器得客户端则使用S ock c t类。19、java、net包中提供了一个类Mult i ca s tSocke t ,允许数据报以广播方式发

25、送到该端口得所有客户。20、在TCP/I P协议得传输层除了TCP协议之外还有一个 UDP协议。几个标准得应用层协议,-使用得都就是TCP协议。UDP协议主要用于需要很强得实时交互性得场合, 如网络游戏,视频会议 等2 1、当我们得到一个U RL对象后,就可以通过它读取指定得资源。这时我们将使用URL得方法 open Stream(),其定义为:In d utS t r eam openStream (); ? 22、UR L 得构造 方法都声明抛弃非运行时异常Ma 1 forme d URL Exception ,因此生成UR L对象时,我们必须要对这一例外进行处理,通常就是用try ca

26、t ch语句进行捕获。2 3、一个S tatem e nt对象,可以执行多个s q 1语句以后,批量更新。这多个语句可以就是 de 1 ete、u p d a te、i n ser t 等或兼有24、J a v a数据库操作基本流程:取得数据库连接 、执行s ql语句、处理执行结果、释放数据库连接。Hel 1 o”能够填写在25、下列程序得功能就是在监控台上每隔一秒钟显示一个字符串“ 程序中下划线位置,使程序完整并能正确运行得语句就是publ i cclass Test impleme nts Ru n n a b 1 e publics tati c vo i d ma in(String

27、args 儿Te st t= new Test();Thread tt= new Thread ( t);t t、start();public v o id run() for (; ; ) try ;catch(e) Sy stem、pu t、p r i ntln(" He 1 lo"); 答: ? Th r ead、sleep( 1000)Inte r rup t edExc e p t io n三、简答与程序分析、填空、设计题第一部分:简答1、线程得生命期内包括哪些状态?答:新建状态、就绪状态、运行状态、阻塞状态、死亡状态 见下图:各状态之间得切换关系2、什么就是线程

28、得新建状态?答:线程对象已经创建,还没有在其上调用start()方法。3、什么就是线程得可运行状态?答:当线程有资格运行,但调度程序还没有把它选定为运行线程时线程所处得状态。tart()方法调用时,线程首先进入可运行状态。在线程运行之后或者从阻塞、等待或睡眠状 态回来后 也返回到可运行状态。4、什么就是线程得死亡态?答:当线程得run ()方法完成时就认为它死去。这个线程对象也许就是活得,但就是,它已经不就是一个单独执行得线程。线程一旦死亡,就不能复生。如果在一个死去得线程上调用 sta r t()方法,会抛出 j a va、lang、Illegal T h readSt a teExce p

29、 t i on 异常。5、调用jo i n()方法有何作用?答:保证当前线程停止执行,直到该线程所加入得线程完成为止。然而,如果它加入得线程没有存活,则当前线程不需要停止。6.现有字符串 S= "hello,java!",则以此字符串生成待发送Dat agramPa c k e t包dgp得语句就是:答:Byte口 str=s、g etby tes(); Dat agramPac ket dgp=ne w Da t agr a mPacket( str, str、l e ngt h (),目得主机, 目得端口 );7、介绍使用 java Socket创建客户端 Socket

30、得过程。答:try ? Socket socket=n e w Socket (目标主机,目标端口);cat c h(IOExc e ption e) ? System、out、pri n t l n (" E rro r :"+e); ? 8?、介绍使用j ava Serv e r Socke t创建服务器端 S e r v erSock e t得过程。答:Se r ver S ocket se r ver= nul 1 ; ? try ?server= new Serv e r So c ket(监听端口 );c a tch (IOEx c ep t ion e) ?S

31、ystem、out、pr i n t ln("can not li s ten to :"+e);? Socket sock e t = n ull; ? try ? soc ket= s erver、a ccept();ca t c h (IOE x cept ion e)? Sy s tem、o u t、pr i n t ln ("Error:"+e );9、写出一种使用java流式套接式编程时,创建双方通信通道得语句。答:PrintStream os=new P rint S tream( new B u f fered Out putStreem

32、 (socket > g etOut p utS t re am();Data I nputStre am i s =new DataInput S t r eam(socket、 get Inpu t St r e a m();P r i ntWri t er out=new Prin t Wri t er(sock e t、getOutS t re a m () ,true);? BufferedRe a der in=n e w B u tffe r edReader (new I nputSte r am Rea der(So c ket、get I n p ut S tre a

33、m();1?0、对于建立功能齐全得 Socket,其工作过程包含以下四个基本得步骤 :(1)创建Socket;?(2)打开连接到Socket得输入/出流;?(3)按照一定得协议对S ocket进行读/写操作;(4)关闭 Socket、1 1、简述基于TC P及U DP套接字通信得主要区别答:TCP,可靠 传输大小无限制,但就是需要连接建立时间,差错控制开销大。UDP不可靠,差错控制开销较小,传输大小PM制在6 4K以下,不需要建立连接。12、写出DatagramSocket得常用构造方法:答:DatagramSocket。;?DatagramSock et(intprot); ? Datagr

34、a m Socket(int por t, I ne t A ddr e ss laddr) ? port 指明 soc ket 所使用得端口号,如果 未指明端口号,则把s。 cket连接到本地主机上一个可用得端口。laddr指明一个可用得本 地地址。13、介绍一下 DatagramPacke t得常用构造方法:D a tagr a mP a ck c t ( by t e buf,i n t 1 e n gt h );? DatagramPacket( b yte b uf , in t length, InetA d dr e ss ad dr, int port);? Data gram

35、Pack e t(b y t e 口 bu f , i n t offs e t, int 1 en g t h); ? D a t a g ram P acke t (b y t e buf, i n t off s et, in t 1 eng t h, InetA d d r ess a d dre s s , int p ort); ?其中,buf中存放数据报数据,leng t h为数据报中数据得长度,a d dr与por t旨明目得 地址,off s et指明了数据报得位移量。14、在接收端接收数据报得主要语句:答: byte buf = n e w byte n ; Datagr

36、a mPacket pac k e t = n ew Datagr a mP acke t ( buf, n ) ; ?S o c ket、rec ei v e (pa ck e t);15、写出j ava程序中用S t a tem e nt来执行sql查询与更新语句St r 1 ng sql;表示查询或更新得操作语句;State m en t s m = c n、creates t a t e m en t (); c n 表示数据库连接sm、e xecu t eQ uery(s q 1 ); / 执行数据查询语句(s elec t)s m、ex e c u teUpd a te(sq l)

37、; 执行数据更新语句(de 1 ete、update、insert、dr op 等) sta t eme n t、cl o s e ();16.什么叫流?流式输入输出有什么特点?1 7 .J a va流被分为字节流、字符流两大流类,两者有什么区别?1 8.File类有哪些构造函数与常用方法?1 6 .答:所谓流就是指同一台计算机或网络中不同计算机之间有序运动着得数据序列Java把这些不同来源与目标得数据都统一抽象为数据流。数据流可分为输入流与输出流,输入流代表从其她设备流入计算机得数据序列,输出流代表从计算机流向外部设备得数据序列。 流式输入输出得特点就是数据得获取与发送沿数据序列得顺序进行,

38、即每一个数据都必须等待排在它前面得数据,等前面得数据读入或送出之后才能被读写。所以流与队列一样,只能以先进先出”得方式对其中得数据进行读写,而不能随意选择读写得位置。17 .答:两者都作为Obj e c t类得直接子类,基本输入流(InputSt r e am以基本 输出流(O ut p ut Str e an)就是处理以8位字节为基本单位得享节流类;Re a d er与Wri t er类就是专门处理16位字符流得类。18 .答:构造函数有:(1) publ i c path n am e ):创建一个对应于参数pathname得File类对象。参数 path n ame就是包含目录与文件名得

39、字符串。如果没有文件名,则代表目录。(2) publ ic parent , S t ring c h i 1 d):该构造函数将 p a thn a me 分成两部分 paren t 与chi 1 d,参数par ent表示目录或文件所在路径,参数chil d表示目录或文件名称。(3) pub 1 ic parent , S t r ing child):该构造函数与上面一个不同在于将par ent得参数类型由S t rin g变为Fil e,代表paren t就是一个已经创建得 File类文件对象(指向目 录)。常用方法有:(1)public boolean c anWrit e ():返

40、回文件就是否可写。(2)p u blic b oolean can Read ():返回文件就是否可读。(3)p u blic b oolean cre a teN ew F ile():当文件不存在时创建文件。1 9 .位置指针得作用就是什么?RandomA c c es sFil e类提供了哪些方法实现对指针得控制?19.答:要实现对文件彳#随机读取,也就就是在文件得任何位置执行读写数据得操作,需要一个指针来指定读写得位置。在创建RandomAc cess F ile类对象得同时,系统自动创建了一个指向这个文件开头得指针,当执行读写操作后,指针自动指向被读写数据之后得第一个字节 处。指针初

41、始值就是0,每读/写一个字节,指针自动增加 1。R a n domAccessF ile类提供了一些控制指针移动得方法。P ublic long g e t ();获取当前指针指向文件得位置。pu lbic void seek (long pos);将指针移动到参数 pos指定得位置。pub 1 i c in t skipBytes(i nt n);指针从当前位置向后移动n个字节位置,并返回指针实际移动得字节数。第二部分:分析程序功能或完成程序2、利用文件输入输出流编写一个实现文件拷贝得程序,源文件名与目标文件名通过命令行参数传入。答:i mpo r t j av a、io、 *;c lass

42、 C op y F i 1 ep ublic stat i c void main (St r in g口 ar g s) Str ing ;i n t ch = 0 ;try 0;1;f i s = new (fil e 1);fos= n ew (file2);while ( (ch=fis、read()! =-1) fos、wr i te( c h);f i s、close ();f o s、clo s e();cate h ( e )System、out、print ln("源文件:未找到!”); cate h(ArrayInd e xOut O fB o undsExc e

43、 p ti o n e )Sys t em、out、printl n ("缺少运行参数!");Sy s tem、e xit(-1); catch (lOExcc ptio n e) Sys t em、o ut、p rintl n (e、t o St r ing();4、编写一个程序,从键盘输入一串字符,统计这串字符中英文字母、数字、其她符号得字符 数。4答:import j a v a、io、*;pu b li c class Coun tpubli c st ati c vo i d main(S t ring arg s) int x=0,y= 0 , z=0;in t

44、 ch;trywhil e (c h =Sy stem、in、read()! = 'r')if (ch>='Az &&ch< ='Z/ | | c h>='a'&&ch< =N ) x+ +;else i f(c h> = / 0Z && c h<=z 9') y+;e lse z+;catc h ( IOE x c e pti o n e)Syste m> o ut、p r int 1 n ( e > toStrin g ();System&

45、gt; o ut、pr int 1 n ("英文字母:" + x);System、out、p rintln ("数字字符:"+y );System、out、pri n tln("其它字符:"+z);5.编写一个程序,从键盘输入一串字符,从屏幕输出并将其存入a、txt文件中。5答:i m po rt java、io、*;p ublic class InFi 1 e pu bli c static vo id mai n (Str i ng args)i n t ch;t r y ou t =new (" a、txt"

46、);while ( (ch=Syst e m> in、re ad() )! = / rz )System > out、wr i t e(ch);out、write (ch );out、cl o se ();System> out、write (' n z );cat c h(IOE x ce ption e) Syst em、out、printl n (e、to St r i ng();)System > out、println ("输出至文件完毕!”);)8、下列程序向屏幕输出文本文件内容:请完成所缺少得代码i m p ort j a va、io、

47、*;class re a dtxt (p u blic stat i c void main(S trin g a rgs) try f1 = new ("u、txt");B u f f e redRea d er bf1 = n ew Buf f e redRea de r ( f 1);Str i ng li ne;line = bf1、re a dLi n e();while( line!=nu 1 l)/判断所读得一行内容就是否为空;Syste m、o ut、p r intl n (lin e);l i ne = b f 1、r e ad L i ne();继续读入

48、下一行)bf1、cl o se():关闭文件得输入流 ; c a t ch (IOE x c e pt i on e) e、pri n t S tack T rac e ();)10、请编写j a va程序,访问所在得主页文件答: p u blic class URL Reader ? pub 1 ic static vo id main( S t r ing args ) throws Ex ce p t io n /声明抛出所有例外UR L ti r c = n ew URL ("" ) ; /构建一URL 对象BufferedRea d e r i n = new B

49、ufferedReader(n e w InputS t re a m R e a der(ti r c、 o penSt ream。);/使用op en Stream得到一输入流并由此构造一个Bu f fere d Reader对象?St ring inp u t Li ne;? while (in p utL i ne = in、readL i n e()! = nu 1 l) /从输入流不断得读数据,直到读完为止 ?Sy s tem、ou t、println(i n pu t Li n e) ; /把读入得数据打印到屏幕上i n、clo s e(); 关闭输入流??1 1、从键盘上输入主

50、机名称,编写类似p ing得程序,测试连接效果。import j av a、n et、* ;i m por t java、io、 * ;c l a ss Ping ? pub 1 ic s tatic void main ( String ar g s) System、out、p rintln("请输入p ing 主机名称或地址:n"); try Stri n g host = k e yread 1 i ne ();Ine t Ad d r e s s ip = I ne t Ad d ress、ge t ByName ( h ost);lo n 2 t 1= Syste

51、m、curr e ntTimeMill i s();if(ip、 i s Reachable (5000) l o ng t 2 = System、c urrentTimeMil 1 is();IISystem、out、pri n 11 n(" nR ep 1 y f ro m "+ i p> g etH o stAddr e ss() +time<=" +( t 2-t1) + " ms");Sys t em、out、 println();else System、out、println(" Reques t timedo

52、ut、"); c at c h (IOE x ce p ti o n e) S ystem、o ut、print 1 n(" Req ue s t time d out、");private static S t ri n g ke y rea d l i n e ( ) B u ffer edRcadcr b r = new Bu ffcrc d R e a der (new Input Str e amR e ade r(Sys t em、in);St r ing st r = null;try st r = b r、readL i n e (); catch

53、 (IOExcep t ion e ) e、prin t St a c k Trace();r etu r n st r;1 2、设服务器端程序监听端口为8629,当收到客户端信息后,首先判断就是否就是 “BYE ” ,若就是,则立即向对方发送“ BYE”,然后关闭监听,结束程序。若不就是,则在屏幕上输出收到得信息,并由键盘上输入发送到对方得应答信息。请编写程序完成此功能。mport java、net*;i m p ort java、io、*;c l a ss Serv e r p ubli c S erv er () t ry Se r verSocket ss = new ServerSo

54、cket( 8 629);Sy st em、out、print 1 n("服务器端已运行,等待客户端连接:");So c k et sock e t = ss、accep t():/ /接收客户端得连接请求 ;B uff e redRead e r in = new Bu f feredReader(n e w Inpu t St r e a mRea der (sock e t、 getIn p utS t re a m();Pr i ntWri t er out = new Pri n t W r ite r ( so c ket、getOu t put S tre a

55、 m(),true);B u f feredRea d erbr = new Buf f e r edR eader (new Input Str eamRea der(System、in);S t r i ng 1 ine;wh i 1 e(true)li n e = (in、rcadLine()、trim ();i f(line、eau als("B Y E") out、p r in t ln("BYE");o ut、close ();in、cl o se();socke t、cl o se ();br、clos e ();ss、clos e();

56、b r e k k; System、o ut、println ("客户输入为 :"+ lin e );Sy st em、out、println ("请输入回答:");line=br、readLine();/从键盘上输入信息 ;out、print 1 n (line);向对方发送信息cate h (IO Except i on e ) pub 1 i c st at i c void ma i n ( Str i ng口args) throws Ex ce ption new S e rver ();13、TCP客户端需要向服务器端8 629发出连接请求,

57、与服务器进行信息交流,当收到服务器 发来得就是“ BYE ”时,立即向对方发送“ BYE”,然后关|连接,否则,继续向服务器发送 信息。impor t java、io、*;i m port java、net *;class Client2public Cl i ent2() tryString s ;So c k e t socke t = new S o ck e t ("服务器地址 ”,862 9 );B uf f ere dReade r i n = new B u ffer e dR eader(ne w Inpu t S t reamR e ader(so c ket、ge t In d utSt r eam ();Pr i n t Wri

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论