java socket 文件传输,java socket转发
本文实例为大家分享了使用窝实现文件上传功能的具体代码,供大家参考,具体内容如下
文件上传的步骤:
服务器端步骤:
1、创建服务器
2、调用接受获得客户端窝
3、定义字节数组
4、创建文件输出流,获得客户端输入流
5、循环读取输入流的字节,写入到文件输出流
客户端步骤:
1、创建窝
2、获得窝对象输出流
3、创建文件输入流
4、循环读取文件输入流字节,写入到输出流
代码实现:
服务器端:
公共类文件服务器{ public static final int PORT=8888;公共静态最终字符串路径= d : upload public void start(){ system。出去。println(开始.);尝试(//创建服务器端对象服务器套接字server=新的服务器套接字(端口);){ while(true){ Socket Socket=server。接受();尝试(//创建文件输出流和网络输入流数据输入流in=新数据输入流(套接字。getinputstream());//读取哭护短发来的文件名,创建文件输出流文件输出流out=新文件输出流(路径in。read utf()){ int len=0;字节[]缓冲区=新字节[1024];while ((len=in.read(buffer))!=-1){ out.write(buffer,0,len);} System.out.println(服务器保存完毕!);} } } catch(io异常e){ e . printstacktrace();} } public static void main(String[]args){ new file server().start();}}客户端:
公共类文件客户端{ /** *发送文件*/public void sendFile(String ip,int port,String path){ File File=new File(path);尝试(//创建连接,创建文件输入流,网络输出流插座插座=新套接字(ip,端口);InputStream in=新文件InputStream(路径);数据输出流out=新的数据输出流(套接字。获取输出流()){//先发送文件给服务器出去。写utf(文件。getname());出去。flush();//读取本地文件,写入到网络输出流中int len=0;字节[]缓冲区=新字节[1024];while ((len=in.read(buffer))!=-1){ out.write(buffer,0,len);} System.out.println(客户端发送完毕!);} catch(UnknownHostException e){ e . printstacktrace();} catch(io异常e){ e . printstacktrace();} } public static void main(String[]args){新建文件客户端().sendFile(192.168.31.226 ,8888, c : Users admin Desktop c . txt );}}实现效果:
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持盛行它.
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。