Socket 的輸入輸出流只在服務(wù)器和客戶端之間運(yùn)輸,所以需要額外的字節(jié)流讀取文件內(nèi)容然后Socket流寫(xiě)入,保存時(shí),服務(wù)器端的Socket流讀取的時(shí)候額外的字節(jié)流寫(xiě)出到文件
創(chuàng)新互聯(lián)從2013年開(kāi)始,先為遂溪等服務(wù)建站,遂溪等地企業(yè),進(jìn)行企業(yè)商務(wù)咨詢服務(wù)。為遂溪企業(yè)網(wǎng)站制作PC+手機(jī)+微官網(wǎng)三網(wǎng)同步一站式服務(wù)解決您的所有建站問(wèn)題。
客戶端: 上傳文件
public class tcp2 {
public static void main(String[]args) throws IOException
{
System.out.println("客戶端啟動(dòng)中");
Socket client =new Socket("localhost",8888);
//文件的拷貝
InputStream is=new BufferedInputStream(new FileInputStream("src\\linux學(xué)習(xí)路線.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();
}
}
服務(wù)器端:存儲(chǔ)文件
public class tcp {
public static void main(String[]args) throws IOException
{
System.out.println("服務(wù)器啟動(dòng)中...");
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();
}
}