要將文件傳輸?shù)搅硪粋€(gè)服務(wù)器,你可以使用Java中的Socket類(lèi)進(jìn)行網(wǎng)絡(luò)通信。以下是一個(gè)示例代碼,展示了如何使用Socket傳輸文件:
importjava.io.*;importjava.net.Socket;publicclassFileTransferClient{publicstaticvoidmain(String[]args){StringserverIP="目標(biāo)服務(wù)器IP地址";intserverPort=1234;StringfilePath="要傳輸?shù)奈募窂?quot;;try{Socketsocket=newSocket(serverIP,serverPort);//獲取輸入流FileInputStreamfileInputStream=newFileInputStream(filePath);BufferedInputStreambufferedInputStream=newBufferedInputStream(fileInputStream);//獲取輸出流OutputStreamoutputStream=socket.getOutputStream();//創(chuàng)建緩沖區(qū)byte[]buffer=newbyte[1024];intbytesRead;//從輸入流讀取數(shù)據(jù),并寫(xiě)入輸出流while((bytesRead=bufferedInputStream.read(buffer))!=-1){ outputStream.write(buffer,0,bytesRead); }//關(guān)閉流bufferedInputStream.close(); outputStream.close(); socket.close();System.out.println("文件傳輸完成"); }catch(IOExceptione){ e.printStackTrace(); } } }
在上面的示例代碼中,你需要替換serverIP
為目標(biāo)服務(wù)器的IP地址,serverPort
為目標(biāo)服務(wù)器的端口號(hào),以及filePath
為要傳輸?shù)奈募穆窂健?/p>
然后在目標(biāo)服務(wù)器上,你可以使用類(lèi)似的代碼來(lái)接收文件:
importjava.io.*;importjava.net.ServerSocket;importjava.net.Socket;publicclassFileTransferServer{publicstaticvoidmain(String[]args){intserverPort=1234;StringsavePath="保存文件的路徑";try{ServerSocketserverSocket=newServerSocket(serverPort); System.out.println("服務(wù)器已啟動(dòng),等待連接...");Socketsocket=serverSocket.accept();//獲取輸入流InputStreaminputStream=socket.getInputStream();//創(chuàng)建輸出流FileOutputStreamfileOutputStream=newFileOutputStream(savePath);//創(chuàng)建緩沖區(qū)byte[]buffer=newbyte[1024];intbytesRead;//從輸入流讀取數(shù)據(jù),并寫(xiě)入輸出流while((bytesRead=inputStream.read(buffer))!=-1){ fileOutputStream.write(buffer,0,bytesRead); }//關(guān)閉流fileOutputStream.close(); inputStream.close(); socket.close(); serverSocket.close();System.out.println("文件接收完成"); }catch(IOExceptione){ e.printStackTrace(); } } }
在上面的示例代碼中,你需要替換serverPort
為服務(wù)器綁定的端口號(hào),以及savePath
為文件保存的路徑。
這樣,當(dāng)你運(yùn)行FileTransferClient
時(shí),它將會(huì)將文件傳輸?shù)侥繕?biāo)服務(wù)器上,目標(biāo)服務(wù)器上的FileTransferServer
會(huì)接收文件并保存到指定的路徑。