你的位置:首页 > 软件开发 > Java > JAVA基础学习day25

JAVA基础学习day25

发布时间:2015-10-20 23:00:11
一、上传图片1.1、示例 /*上传图片*/import java.net.*;import java.io.*;import java.util.*;import java.text.*;/*客户端1.建立客户端服务2.读取客户端已经有数据,,将文件名发送给服务端3.通过Sc ...

JAVA基础学习day25

一、上传图片

1.1、示例

 

/*上传图片*/import java.net.*;import java.io.*;import java.util.*;import java.text.*;/*客户端1.建立客户端服务2.读取客户端已经有数据,,将文件名发送给服务端3.通过Scoket,输出流将数据发送给服务端4.接收服务端返回信息5.关流Socket和流资源*/class UploadClient1{  public static void main(String[] args) throws Exception  {    //建立片客户端服务    Socket s=new Socket("localhost",10009);    //客户端资源    File file=new File("d:\\1.jpg");    //获取文件名    String filename=file.getName();    //获取打印流,并将文件名发送到服务端,true表示自动刷新    PrintWriter pw=new PrintWriter(s.getOutputStream(),true);    pw.println(filename);    //字节缓冲流读取文件    BufferedInputStream bis=new BufferedInputStream(new FileInputStream(file));    //字节缓冲输出流     BufferedOutputStream bosOut=new BufferedOutputStream(s.getOutputStream());        int len=0;    while((len=bis.read())!=-1)    {      bosOut.write(len);      bosOut.flush();    }    //增加结束标记    s.shutdownOutput();    //字节缓冲输入流,用于接收服务端发回的数据    BufferedReader br=new BufferedReader(new InputStreamReader(s.getInputStream()));    String rep=br.readLine();    System.out.println(rep);    bis.close();    s.close();  }}/*服务端1.建立服务端服务,并指定端口2.接收客户端发送的文件名,读取客户端发送的数据3.通过Scoket,输出流将数据写在服务端文件4.发送返回信息5.关流Socket和流资源*/class UploadServer1{  public static void main(String[] args) throws Exception  {    //建立服务端服务,指定端口    ServerSocket ss=new ServerSocket(10009);        //建立客户端Socket对象    Socket s=ss.accept();    //字节缓冲输入流,用于接收服务端发回的数据    BufferedReader br=new BufferedReader(new InputStreamReader(s.getInputStream()));          String filename=br.readLine();    System.out.println(filename);    //文件读取流    BufferedInputStream bisIn=new BufferedInputStream(s.getInputStream());    //建立服务端文件    File file=new File("f:\\",filename);    if(file.exists())    {      //如果文件存在就重命名      SimpleDateFormat sdf=new SimpleDateFormat("yyyyMMdd HHmmss");      Date date=new Date();      String time=sdf.format(date);      //只获取文件名的部分      String name=filename.substring(0,filename.indexOf("."));      String prefix=name+time;        //扩展名      String suffix=filename.substring(filename.indexOf("."));      filename=prefix+suffix;      //重新指定文件      file=new File("f:\\",filename);          }    FileOutputStream fos=new FileOutputStream(file);    byte[] bufw=new byte[1024];    int len=0;    while((len=bisIn.read(bufw))!=-1)    {      fos.write(bufw,0,len);    }    PrintWriter pw=new PrintWriter(s.getOutputStream(),true);    pw.println("上传成功");    fos.close();    s.close();    ss.close();  }}

原标题:JAVA基础学习day25

关键词:JAVA

*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们: admin#shaoqun.com (#换成@)。