Java 上传图片(非文本)

来源:互联网 发布:中国2016 m2最新数据 编辑:程序博客网 时间:2024/05/18 00:04
package p7.uploadpic;import java.io.File;import java.io.FileInputStream;import java.io.IOException;import java.io.InputStream;import java.io.OutputStream;import java.net.Socket;import java.net.UnknownHostException;public class UploadPicClient {public static void main(String[] args) throws UnknownHostException, IOException {//1 创建客户端socketSocket s=new Socket("10.194.43.59",10006);//2 读取客户端要上传的图片文件 FileInputStream fis=new FileInputStream("D:\\3.png");//3 获取socket输出流 将读到的图片数据发送给服务端OutputStream out=s.getOutputStream();byte[]buf=new byte[1024];int len=0;while((len=fis.read(buf))!=-1) {out.write(buf,0,len);}//告诉服务端说:这边的数据发送完毕 让服务端停止读取s.shutdownOutput();//读取服务端发回的内容。InputStream in=s.getInputStream();byte[]bufIn=new byte[1024];int lenIn=in.read(bufIn);String text=new String(bufIn, 0, lenIn);System.out.println(text);fis.close();s.close();}}


package p7.uploadpic;import java.io.BufferedReader;import java.io.File;import java.io.FileNotFoundException;import java.io.FileOutputStream;import java.io.IOException;import java.io.InputStream;import java.io.InputStreamReader;import java.io.OutputStream;import java.net.ServerSocket;import java.net.Socket;import p6.uploadtext.UploadClient;public class UploadPicServer {public static void main(String[] args) throws IOException {//创建tcp的socket服务端ServerSocket ss=new ServerSocket(10006);//获取客户端。while(true) {Socket s=ss.accept();new Thread(new UploadTask(s)).start();//oldMethod(s);}}private static void oldMethod(Socket s) throws IOException, FileNotFoundException {String ip=s.getInetAddress().getHostAddress();System.out.println(ip+"....connected");//读取客户端发来的数据InputStream in=s.getInputStream();//将读取到的数据存储到一个文件中File dir=new File("d:\\pic");if(!dir.exists())dir.mkdirs();File file=new File(dir,ip+".png");FileOutputStream fos=new FileOutputStream(file);byte[]buf=new byte[1024];int len=0;while((len=in.read(buf))!=-1) {fos.write(buf, 0, len);}//获取socket输出流 将上传成功字样发给客户端OutputStream out=s.getOutputStream();out.write("上传成功".getBytes());}}


package p7.uploadpic;import java.io.File;import java.io.FileOutputStream;import java.io.InputStream;import java.io.OutputStream;import java.net.Socket;import java.util.concurrent.CountDownLatch;public class UploadTask implements Runnable {public int count=0;private Socket s;public UploadTask(Socket s) {this.s=s;}@Overridepublic void run() {String ip=s.getInetAddress().getHostAddress();System.out.println(ip+"....connected");try {//读取客户端发来的数据InputStream in=s.getInputStream();//将读取到的数据存储到一个文件中File dir=new File("d:\\pic");if(!dir.exists())dir.mkdirs();File file=new File(dir,ip+".png");if(file.exists()) {file=new File(dir,ip+"+("+(count++)+")"+".png");}FileOutputStream fos=new FileOutputStream(file);byte[]buf=new byte[1024];int len=0;while((len=in.read(buf))!=-1) {fos.write(buf, 0, len);}//获取socket输出流 将上传成功字样发给客户端OutputStream out=s.getOutputStream();out.write("上传成功".getBytes());s.close();fos.close();}catch (Exception e) {}}}


原创粉丝点击