JavaTCP上傳圖片代碼實例
更新時間:2019年02月02日 08:32:03 作者:凌晨兩點半的太陽v
今天小編就為大家分享一篇關于JavaTCP上傳圖片代碼實例,小編覺得內容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧
1.客戶端代碼
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ā)送到服務端
OutputStream out = s.getOutputStream();
byte[] buf = new byte[1021];
int len =0;
while((len=fis.read(buf))!=-1){
out.write(buf,0,len);
}
//告訴服務端說:這邊的數(shù)據(jù)發(fā)送完畢讓服務端停止讀取
s.shutdownOutput();
//讀取服務端發(fā)回的內容
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
//創(chuàng)建tcp的socket服務端
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();
}
上傳后和上傳前的圖片:

總結
以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,謝謝大家對腳本之家的支持。如果你想了解更多相關內容請查看下面相關鏈接
相關文章
eclipse中maven的pom.xml文件中增加依賴的方法
日 在Maven項目中,可以使用pom.xml文件來添加依賴包,本文主要介紹了eclipse中maven的pom.xml文件中增加依賴的方法,具有一定的參考價值,感興趣的可以了解一下2023-12-12
解決jackson反序列化失敗InvalidFormatException:Can not dese
這篇文章主要介紹了解決jackson反序列化失敗InvalidFormatException:Can not deserialize value of type java.util.Date問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2023-12-12
Springcloud實現(xiàn)服務多版本控制的示例代碼
這篇文章主要介紹了Springcloud實現(xiàn)服務多版本控制的示例代碼,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2020-05-05

