1.客戶端代碼
創(chuàng)新互聯(lián)公司自2013年創(chuàng)立以來,先為甘德等服務(wù)建站,甘德等地企業(yè),進行企業(yè)商務(wù)咨詢服務(wù)。為甘德企業(yè)網(wǎng)站制作PC+手機+微官網(wǎng)三網(wǎng)同步一站式服務(wù)解決您的所有建站問題。
public class UploadPicClient { public static void main(String[] args) throws UnknownHostException, IOException { // TODO Auto-generated method stub //1,創(chuàng)建客戶端socket Socket s = new Socket("localhost",10088); //2,讀取客戶端要上傳的圖片文件 FileInputStream fis = new FileInputStream("D:\\workspace\\day2019.1.17\\lanjing.jpg"); //3,獲取Socket輸出流,將讀到的圖片的數(shù)據(jù)發(fā)送到服務(wù)端 OutputStream out = s.getOutputStream(); byte[] buf = new byte[1021]; int len =0; while((len=fis.read(buf))!=-1){ out.write(buf,0,len); } //告訴服務(wù)端說:這邊的數(shù)據(jù)發(fā)送完畢讓服務(wù)端停止讀取 s.shutdownOutput(); //讀取服務(wù)端發(fā)回的內(nèi)容 InputStream in = s.getInputStream(); byte[] bufIn = new byte[1024]; int lenIn = in.read(buf); String text = new String (buf,0,lenIn); System.out.println(text); //關(guān)閉資源 fis.close(); s.close(); } }
2.服務(wù)端代碼
public class UploadPicSever { public static void main(String[] args) throws IOException { // TODO Auto-generated method stub //創(chuàng)建tcp的socket服務(wù)端 ServerSocket ss = new ServerSocket(10088); //獲取客戶端 Socket s = ss.accept(); String ip = s.getInetAddress().getHostAddress(); System.out.println(ip+".....connected"); //讀取客戶端發(fā)來的數(shù)據(jù) InputStream in = s.getInputStream(); //將讀取到的數(shù)據(jù)存儲到一個文件中。 File dir = new File("D:\\workspace\\day2019.1.17"); if(!dir.exists()){ dir.mkdirs(); } File file = new File(dir,"blue.jpg"); 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輸出流,將上傳成功字樣發(fā)送給客戶端 OutputStream out = s.getOutputStream(); out.write("上傳成功".getBytes()); fos.close(); s.close(); ss.close(); }
上傳后和上傳前的圖片:
總結(jié)
以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學習或者工作具有一定的參考學習價值,謝謝大家對創(chuàng)新互聯(lián)的支持。如果你想了解更多相關(guān)內(nèi)容請查看下面相關(guān)鏈接