您好,登錄后才能下訂單哦!
Socket 的輸入輸出流只在服務器和客戶端之間運輸,所以需要額外的字節流讀取文件內容然后Socket流寫入,保存時,服務器端的Socket流讀取的時候額外的字節流寫出到文件
客戶端: 上傳文件
public class tcp2 {
public static void main(String[]args) throws IOException
{
System.out.println("客戶端啟動中");
Socket client =new Socket("localhost",8888);
//文件的拷貝
InputStream is=new BufferedInputStream(new FileInputStream("src\\linux學習路線.png"));
OutputStream os=new BufferedOutputStream(client.getOutputStream());
byte[] data=new byte[1024*60];
int len=-1;
while((len=is.read(data))!=-1)
{
os.write(data,0,len);
}
os.flush();
os.close();
client.close();
}
}
服務器端:存儲文件
public class tcp {
public static void main(String[]args) throws IOException
{
System.out.println("服務器啟動中...");
ServerSocket server=new ServerSocket(8888);
Socket client=server.accept();
//文件的拷貝
InputStream is=new BufferedInputStream(client.getInputStream());
OutputStream os=new BufferedOutputStream(new FileOutputStream("D:/d/tu.jpg"));
byte[] flush=new byte[1024*60];
int len=-1;
while((len=is.read(flush))!=-1)
{
os.write(flush,0,len);
}
is.close();
os.close();
client.close();
}
}
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。