欢迎来到天天文库
浏览记录
ID:39549455
大小:54.00 KB
页数:7页
时间:2019-07-06
《java socket数据上传》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、主要功能:(1)有客户端和服务器端(2)客户端可以上传各种类型的文件(3)服务器端可以接受很多文件上传(4)客户端发出请求后,在服务器端应答后能将文件传到服务器上(5)实验实现时用环回测试将本机看作客户端和服务器端Client.javaimportjava.awt.*;importjava.awt.event.*;importjavax.swing.*;importjava.net.*;importjava.io.*;publicclassClientextendsJFrameimplementsActionListener{Stringstr="";privateJText
2、Fieldt1;privateJLabell1,l2;privateJButtonExit,Ok,Open;privateJFileChooserchoose=newJFileChooser();privateFileMyfile;publicClient(){Containerc=getContentPane();6Panelp1=newPanel();Panelp2=newPanel();Panelp3=newPanel();c.setLayout(newGridLayout(3,1));p1.setLayout(newFlowLayout());p2.setLayout
3、(newFlowLayout());p3.setLayout(newGridLayout(2,1));t1=newJTextField(35);l1=newJLabel("",JLabel.CENTER);l2=newJLabel("",JLabel.CENTER);Exit=newJButton("退出");Ok=newJButton("上传");Open=newJButton("浏览...");Exit.addActionListener(this);Ok.addActionListener(this);Open.addActionListener(this);p1.ad
4、d(t1);p1.add(Open);c.add(p1);p2.add(Ok);p2.add(Exit);c.add(p2);p3.add(l1);p3.add(l2);c.add(p3);setSize(500,200);show();}publicvoidactionPerformed(ActionEvente){str="";if(e.getSource()==Exit){System.exit(0);}try{if(e.getSource()==Ok){if(t1.getText()!=""){this.client();}6}}catch(Exceptiont){S
5、ystem.out.println(t.toString());}if(e.getSource()==Open){this.openf();}}publicvoidopenf(){intresult=choose.showOpenDialog(null);Myfile=choose.getSelectedFile();if(result==JFileChooser.APPROVE_OPTION){t1.setText(Myfile.getPath());}elseif(result==JFileChooser.CANCEL_OPTION){t1.setText("");Myf
6、ile=null;}}publicvoidclient(){byte[]ff;intsize;SocketclientSocket;PrintStreamps;StringfileName;try{//创建一个上传的SocketclientSocket=newSocket("127.1.1.1",8765);ps=newPrintStream(clientSocket.getOutputStream());size=(int)Myfile.length();fileName=Myfile.getName();BufferedReaderbr=newBufferedReader
7、(newInputStreamReader(clientSocket.getInputStream()));Stringover="";bytep[]=over.getBytes();bytename[]=(fileName+over).getBytes();6System.out.println(newString(name));//文件名ps.write(name);ps.flush();Strings1=br.readLine();Stringtmp=String.valueOf(size)+
此文档下载收益归作者所有