您好,登錄后才能下訂單哦!
1.客戶端代碼
public class UploadPicClient { public static void main(String[] args) throws UnknownHostException, IOException { // TODO Auto-generated method stub //1,創建客戶端socket Socket s = new Socket("localhost",10088); //2,讀取客戶端要上傳的圖片文件 FileInputStream fis = new FileInputStream("D:\\workspace\\day2019.1.17\\lanjing.jpg"); //3,獲取Socket輸出流,將讀到的圖片的數據發送到服務端 OutputStream out = s.getOutputStream(); byte[] buf = new byte[1021]; 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(buf); String text = new String (buf,0,lenIn); System.out.println(text); //關閉資源 fis.close(); s.close(); } }
2.服務端代碼
public class UploadPicSever { public static void main(String[] args) throws IOException { // TODO Auto-generated method stub //創建tcp的socket服務端 ServerSocket ss = new ServerSocket(10088); //獲取客戶端 Socket s = ss.accept(); String ip = s.getInetAddress().getHostAddress(); System.out.println(ip+".....connected"); //讀取客戶端發來的數據 InputStream in = s.getInputStream(); //將讀取到的數據存儲到一個文件中。 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輸出流,將上傳成功字樣發送給客戶端 OutputStream out = s.getOutputStream(); out.write("上傳成功".getBytes()); fos.close(); s.close(); ss.close(); }
上傳后和上傳前的圖片:
總結
以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,謝謝大家對億速云的支持。如果你想了解更多相關內容請查看下面相關鏈接
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。