有沒有辦法通過Java中的套接字發送文件?如果是這樣如何?如果不是,那麼如何使用java將文件從一臺計算機發送到另一臺計算機?通過套接字發送文件
0
A
回答
0
1
4
你打開一個套接字連接和文件的字節複製到插座和插座的另一端讀取的字節數。與通過套接字連接發送任意流相同的方式。這麼說,有任何數量的方式從一臺計算機的文件複製到另一個(使用Java),包括複製到共享文件系統,FTP傳送文件,HTTP發佈文件到Web服務器...
0
如果您主要關注的是將文件從一臺計算機發送到另一臺計算機。而不是在使用專有協議構建自己的文件服務器和客戶端時,可以在服務器端嵌入ftp-server,在您自己的Java應用程序中嵌入客戶端的ftp client。
1
import java.io.BufferedInputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.OutputStream;
import java.net.ServerSocket;
import java.net.Socket;
public class Main
{
public static void main(String[] args) throws IOException {
ServerSocket servsock = new ServerSocket(123456);
File myFile = new File("s.pdf");
while (true)
{
Socket sock = servsock.accept();
byte[] mybytearray = new byte[(int) myFile.length()];
BufferedInputStream bis = new BufferedInputStream(new FileInputStream(myFile));
bis.read(mybytearray, 0, mybytearray.length);
OutputStream os = sock.getOutputStream();
os.write(mybytearray, 0, mybytearray.length);
os.flush();
sock.close();
}
}
}
The client module
import java.io.BufferedOutputStream;
import java.io.FileOutputStream;
import java.io.InputStream;
import java.net.Socket;
public class Main {
public static void main(String[] argv) throws Exception
{
Socket sock = new Socket("127.0.0.1", 123456);
byte[] mybytearray = new byte[1024];
InputStream is = sock.getInputStream();
FileOutputStream fos = new FileOutputStream("s.pdf");
BufferedOutputStream bos = new BufferedOutputStream(fos);
int bytesRead = is.read(mybytearray, 0, mybytearray.length);
bos.write(mybytearray, 0, bytesRead);
bos.close();
sock.close();
}
}
相關問題
- 1. 通過套接字發送wav文件
- 2. Java通過套接字發送文件
- 3. 通過套接字發送文件
- 4. 通過TCP套接字發送文件
- 5. 通過套接字發送文件
- 6. 通過套接字發送zip文件
- 7. 通過Java套接字發送文件
- 8. 通過套接字發送文件
- 9. 發送文件,然後通過套接字發送消息
- 10. 通過套接字發送的字符
- 11. Android通過套接字通信發送文件名
- 12. 如何通過套接字發送/接收數據文件?
- 13. C++通過套接字發送文件和文本
- 14. 通過套接字發送文件 - 終止條件
- 15. 通過TCP套接字的Android發送/接收字節[]通過TCP套接字
- 16. 通過TCP/SSL套接字發送內容之前發送/接收文件名
- 17. 能夠通過套接字發送圖像,但不能發送文本文件
- 18. 通過套接字發送NULL數據
- 19. 通過UDP套接字發送數據
- 20. Android通過套接字發送數據
- 21. 通過套接字發送inkcanvas筆畫
- 22. 通過套接字發送HBITMAP
- 23. indexoutofboundsexception通過套接字發送圖片
- 24. 未通過套接字發送XStream
- 25. 通過UDP發送HEX值套接字
- 26. 通過套接字發送圖像
- 27. 通過套接字發送int,c,C++
- 28. 通過套接字發送視頻幀
- 29. 通過套接字發送RSA公鑰
- 30. 通過套接字發送整數python