日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > java >内容正文

java

java实现两台计算机的互联,如何用Java语言实现两台计算机之间的文件传输?

發布時間:2025/3/12 java 22 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java实现两台计算机的互联,如何用Java语言实现两台计算机之间的文件传输? 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

最近新學習了Java語言,算是一個小白,想用TCP Socket進行網絡編程,使得服務器端接受客戶端的文件,但是遇到了一個錯誤,有人知道該怎么解決嗎?

//這是服務器端的代碼

public class UploadServer {

public static void main(String[] args) {

System.out.println("服務器端運行...");

try {

//創建一個ServerSocket監聽8080端口的客戶端請求

ServerSocket serverSocket = new ServerSocket(8080);

//使用accept()阻塞當前線程,等待客戶端請求

Socket socket = serverSocket.accept();

//由Socket獲得輸入流,并創建緩沖輸入流

BufferedInputStream in = new BufferedInputStream(socket.getInputStream());

//由文件輸出流創建緩沖輸出流

FileOutputStream out = new FileOutputStream("G:\站點\新建文本文檔.txt");

//創建一個緩沖區

byte[] buffer = new byte[1024];

//首次向Socket讀取數據

int len = in.read(buffer);

while (len != -1) {

//寫入數據到文件

out.write(buffer, 0, len);

//再次從Socket讀取數據

len = in.read(buffer);

}

System.out.println("接收完成!");

} catch (IOException e) {

e.printStackTrace();

}

}

}

//這是客戶端的代碼

public class UploadClient {

public static void main(String[] args) {

System.out.println("客戶端運行...");

try {

//向非本機的8080客戶端發出請求

Socket socket = new Socket("192.168.0.106",8080);

//由Socket獲得輸出流,并創建緩沖輸出流

BufferedOutputStream out = new BufferedOutputStream(socket.getOutputStream());

//創建文件輸入流

FileInputStream fin = new FileInputStream("F:\站點\新建文本文檔.txt");

//由文件輸入流創建緩沖輸出流

BufferedInputStream in = new BufferedInputStream(fin);

//準備一個緩沖區

byte[] buffer = new byte[1024];

//首次讀取文件

int len = in.read(buffer);

while(len != -1) {

//數據寫入Socket

out.write(buffer,0,len);

//再次讀取文件

len = in.read(buffer);

}

System.out.println("上傳成功!");

} catch(ConnectException e) {

System.out.println("服務器未啟動!");

} catch (IOException e) {

e.printStackTrace();

}

}

}

先運行服務器端,在運行客戶端

客戶端顯示:

服務器端顯示:

服務器端的第27行是 int len = in.read(buffer);

該如何處理這個異常呢,求解!!!

回答

客戶端傳輸完成后關閉輸出流

總結

以上是生活随笔為你收集整理的java实现两台计算机的互联,如何用Java语言实现两台计算机之间的文件传输?的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。