Java 客戶(hù)端向服務(wù)端上傳mp3文件數(shù)據(jù)的實(shí)例代碼
客戶(hù)端:
package cn.itcast.uploadpicture.demo;
import java.io.BufferedInputStream;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.PrintStream;
import java.net.Socket;
import java.net.UnknownHostException;
public class UploadpicClient {
public static void main(String[] args) throws UnknownHostException, IOException {
// 1、建立客戶(hù)端的Socket服務(wù)
Socket s=new Socket("192.168.1.216",10012);
// 2、獲取圖片資源
BufferedInputStream burin=
new BufferedInputStream(new FileInputStream("F:\\CloudMusic\\羅大佑,黃霑,徐克 - 滄海一聲笑.mp3"));
// 3、獲取socket輸出流
PrintStream pso=new PrintStream(s.getOutputStream(),true);
// 4、將數(shù)據(jù)寫(xiě)入到輸出流
byte[]buff=new byte[1024];
int len=-1;
while((len=burin.read(buff))!=-1) {
pso.write(buff, 0, len);
}
s.shutdownOutput();
// 5、獲取服務(wù)端的返回的數(shù)據(jù)
InputStream is=s.getInputStream();
byte[]buffin=new byte[1024];
int lenth=is.read(buffin);
String str=new String(buffin,0,lenth);
System.out.println(str);
// 6、關(guān)閉流
s.close();
burin.close();
}
}
服務(wù)端:
package cn.itcast.uploadpicture.demo;
import java.io.BufferedInputStream;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.PrintStream;
import java.net.ServerSocket;
import java.net.Socket;
public class UploadpicServer {
public static void main(String[] args) throws IOException {
ServerSocket ss=new ServerSocket(10012);
Socket s=ss.accept();
System.out.println(s.getInetAddress().getHostAddress()+"connnected.......");
BufferedInputStream burin=new BufferedInputStream(s.getInputStream());
File file=new File("serve.mp3");
if(!file.exists())
file.mkdirs();
PrintStream ps=new PrintStream(new FileOutputStream(file),true);
byte[]buff=new byte[1024];
int len=-1;
while((len=burin.read(buff))!=-1) {
ps.write(buff, 0, len);
}
PrintStream psout=new PrintStream(s.getOutputStream(),true);
psout.println("上傳成功");
ss.close();
s.close();
ps.close();
}
}
總結(jié)
以上所述是小編給大家介紹的Java 客戶(hù)端向服務(wù)端上傳mp3文件數(shù)據(jù)的實(shí)例代碼,希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!
- Java RPC框架熔斷降級(jí)機(jī)制原理解析
- 分析JAVA中幾種常用的RPC框架
- Java實(shí)現(xiàn)簡(jiǎn)單的RPC框架的示例代碼
- Java利用Sping框架編寫(xiě)RPC遠(yuǎn)程過(guò)程調(diào)用服務(wù)的教程
- PHP和JAVA的XML-RPC中文問(wèn)題解決辦法
- Java后臺(tái)防止客戶(hù)端重復(fù)請(qǐng)求、提交表單實(shí)現(xiàn)原理
- Java基于socket實(shí)現(xiàn)的客戶(hù)端和服務(wù)端通信功能完整實(shí)例
- Java RPC框架如何實(shí)現(xiàn)客戶(hù)端限流配置
相關(guān)文章
Spring Boot 整合 Apache Dubbo的示例代碼
Apache Dubbo是一款高性能、輕量級(jí)的開(kāi)源 Java RPC 框架,這篇文章主要介紹了Spring Boot 整合 Apache Dubbo的方法,本文通過(guò)示例說(shuō)明給大家講解的非常詳細(xì),需要的朋友可以參考下2021-07-07
Mybatis以main方法形式調(diào)用dao層執(zhí)行代碼實(shí)例
這篇文章主要介紹了Mybatis以main方法形式調(diào)用dao層執(zhí)行代碼實(shí)例,MyBatis 是一款優(yōu)秀的持久層框架,MyBatis 免除了幾乎所有的 JDBC 代碼以及設(shè)置參數(shù)和獲取結(jié)果集的工作,需要的朋友可以參考下2023-08-08
java使用http實(shí)現(xiàn)文件下載學(xué)習(xí)示例
這篇文章主要介紹了java使用http實(shí)現(xiàn)文件下載學(xué)習(xí)示例,需要的朋友可以參考下2014-04-04
SpringBoot3整合 Elasticsearch 8.x 使用Repository構(gòu)
我們構(gòu)建了一個(gè)完整的 Spring Boot 3 和 Elasticsearch 8.x 的增刪改查示例應(yīng)用,使用 Spring Data Elasticsearch Repository,我們能夠快速實(shí)現(xiàn)對(duì) Elasticsearch 的基本 CRUD 操作,簡(jiǎn)化了開(kāi)發(fā)流程,希望這個(gè)示例能夠幫助你理解如何在項(xiàng)目中有效使用 Elasticsearch!2024-11-11
MyBatis-Plus使用sl4j日志打印SQL的代碼詳解
以下是關(guān)于使用 Spring Boot 起始器替換 slf4j-api 和 logback 依賴(lài)的詳細(xì)步驟和注意事項(xiàng),包括 MyBatis-Plus 的默認(rèn)日志級(jí)別信息,需要的朋友可以參考下2024-10-10
Redis中String字符串和sdshdr結(jié)構(gòu)體超詳細(xì)講解
這篇文章主要介紹了Redis中String字符串和sdshdr結(jié)構(gòu)體,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)吧2023-04-04
Java反轉(zhuǎn)鏈表測(cè)試過(guò)程介紹
這篇文章主要介紹了Java反轉(zhuǎn)鏈表測(cè)試過(guò)程,學(xué)習(xí)過(guò)數(shù)據(jù)結(jié)構(gòu)的小伙伴們,對(duì)鏈表想來(lái)是并不陌生。本篇文章將為大家介紹幾種在Java語(yǔ)言當(dāng)中,實(shí)現(xiàn)鏈表反轉(zhuǎn)的幾種方法,以下是具體內(nèi)容2023-04-04

