Java API——RMIIO入門教程(2)遠端流傳輸示例之RMIIO服務原始碼
1. RMI Service Interface
package com.sinosuperman.rmiio2;
import java.rmi.Remote;
import java.rmi.RemoteException;
import com.healthmarketscience.rmiio.RemoteInputStream;
public interface RmiioService2 extends Remote {
public void sendFile(String fileName, RemoteInputStream inFile) throws RemoteException;
}
2. RMI Service Implementation Class
package com.sinosuperman.rmiio2;
import java.io.BufferedInputStream;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.Serializable;
import java.rmi.RemoteException;
import java.rmi.server.UnicastRemoteObject;
import com.healthmarketscience.rmiio.RemoteInputStream;
import com.healthmarketscience.rmiio.RemoteInputStreamClient;
public class RmiioServiceImpl2 extends UnicastRemoteObject implements Serializable, RmiioService2 {
private static final long serialVersionUID = -5776252535031796604L;
public RmiioServiceImpl2() throws RemoteException {
}
@Override
public void sendFile(String fileName, RemoteInputStream inFile) throws RemoteException {
try {
InputStream inStream = RemoteInputStreamClient.wrap(inFile);
store(inStream, "temp" + File.separator + fileName);
} catch (IOException e) {
e.printStackTrace();
}
}
private static void store(InputStream inStream, String filePath) {
try {
BufferedInputStream inStreamBuff = new BufferedInputStream(inStream);
FileOutputStream fileOutStream;
fileOutStream = new FileOutputStream(filePath);
int size = 0;
byte[] byteBuff = new byte[1024];
while ( (size = inStreamBuff.read(byteBuff)) != -1) {
fileOutStream.write(byteBuff, 0, size);
}
fileOutStream.close();
inStreamBuff.close();
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
相關文章
- Java API——RMIIO入門教程(4)遠端流傳輸示例之RMIIO客戶端碼JavaAPI客戶端
- Java API——RMIIO入門教程(3)遠端流傳輸示例之RMIIO伺服器端原始碼JavaAPI伺服器原始碼
- Java API——RMIIO入門教程(1)基本介紹JavaAPI
- 【go-web服務端】入門教程GoWeb服務端
- Java日誌服務入門系列教程——(2)Apache log4j入門JavaApache
- Java中OpenAI API客戶端原始碼教程JavaOpenAIAPI客戶端原始碼
- Nacos(二)原始碼分析Nacos服務端註冊示例流程原始碼服務端
- Dubbo原始碼之服務端的釋出原始碼服務端
- spring cloud feign實現遠端呼叫服務傳輸檔案SpringCloud
- git 入門教程之遠端倉庫Git
- 2.CAS SSO單點登入服務端環境搭建原始碼服務端原始碼
- Java日誌服務入門系列教程——(1)SLF4J入門Java
- Rest Post示例(java服務端、python客戶端)RESTJava服務端Python客戶端
- 本地MinIO儲存服務Java遠端呼叫上傳檔案Java
- 2.CAS SSO單點登入服務端環境搭建之原始碼詳細解說服務端原始碼
- bbossaop遠端服務介紹-遠端服務呼叫例項
- [java IO流]之 基本資料型別輸入輸出流Java資料型別
- Java 輸入輸出流Java
- JAVA輸入輸出流Java
- Spring Cloud入門教程(五):API服務閘道器(Zuul) 上SpringCloudAPIZuul
- c++入門:輸入輸出流C++
- Ubuntu開啟ssh服務遠端登入Ubuntu
- Netty入門一:服務端應用搭建 & 啟動過程原始碼分析Netty服務端原始碼
- java Socket Tcp示例三則(服務端處理資料、上傳檔案)JavaTCP服務端
- C# 之 服務端獲取遠端資源C#服務端
- [java IO流]之 鍵盤顯示器輸入輸出流(System)Java
- java WebSocket 服務端程式碼JavaWeb服務端
- ASP.NET Web API 2 入門教程ASP.NETWebAPI
- 聊聊Dubbo(九):核心原始碼-服務端啟動流程2原始碼服務端
- 2.關於CAS SSO單點登入服務端環境搭建原始碼服務端原始碼
- Nuxt.js服務端渲染入門UXJS服務端
- 自己寫遠端控制軟體之網路傳輸
- bbossaop遠端服務介紹-遠端服務id定義規則
- netty原始碼分析之服務端啟動全解析Netty原始碼服務端
- Spring Cloud系列(三):Eureka原始碼解析之服務端SpringCloud原始碼服務端
- Dubbo原始碼之服務引用原始碼
- (2)什麼是服務拆分和遠端呼叫
- 直播app原始碼,Java的輸入輸出APP原始碼Java