Rumah > Java > javaTutorial > Bagaimanakah TCP pengaturcaraan rangkaian Java melaksanakan fungsi muat naik fail?

Bagaimanakah TCP pengaturcaraan rangkaian Java melaksanakan fungsi muat naik fail?

WBOY
Lepaskan: 2023-04-29 17:19:07
ke hadapan
853 orang telah melayarinya

Pelanggan:

package com.kuang.lesson02;

import java.io.*;
import java.net.InetAddress;
import java.net.Socket;

//客户端
public class TcpClientDemo2 {
    public static void main(String[] args) throws Exception {
        //1、创建一个Socket连接
        Socket socket = new Socket(InetAddress.getByName("127.0.0.1"),9000);
        //2、创建一个输出流
        OutputStream os = socket.getOutputStream();
        //3、读取文件
        FileInputStream fis = new FileInputStream(new File("sendFile.jpg"));
        //4、写出文件
        byte[] buffer = new byte[1024];
        int len;
        while ((len=fis.read(buffer))!=-1) {
            os.write(buffer,0,len);
        }

        //通知服务器,我已经结束了
        socket.shutdownOutput();

        //确定服务器接收完毕,才能断开连接
        InputStream inputStream = socket.getInputStream();
        //String byte[]
        ByteArrayOutputStream baos = new ByteArrayOutputStream();

        byte[] buffer2 = new byte[1024];
        int len2;
        while ((len2=inputStream.read(buffer2))!=-1) {
            baos.write(buffer2,0,len2);
        }

        System.out.println(baos.toString());


        //5、关闭资源
        fis.close();
        os.close();
        socket.close();
    }
}
Salin selepas log masuk

Pelayan:

package com.kuang.lesson02;

import java.io.*;
import java.net.ServerSocket;
import java.net.Socket;

//服务端
public class TcpServerDemo02 {
    public static void main(String[] args) throws Exception {
        //1、创建服务
        ServerSocket serverSocket = new ServerSocket(9000);
        //2、监听客户端的连接
        //阻塞式监听,会一直等待客户端连接
        Socket socket = serverSocket.accept();
        //3、获取输入流
        InputStream is = socket.getInputStream();
        //4、文件输出
        FileOutputStream fos = new FileOutputStream(new File("receive.jpg"));
        byte[] buffer = new byte[1024];
        int len;
        while ((len=is.read(buffer))!=-1) {
            fos.write(buffer,0,len);
        }

        //通知客户端我接收完毕
        OutputStream os = socket.getOutputStream();
        os.write("我接收完毕了,你可以断开了".getBytes());

        //5、关闭资源
        fos.close();
        is.close();
        socket.close();
        serverSocket.close();
    }

}
Salin selepas log masuk

Hasil jalankan:

1 Mula-mula, anda boleh mendapati hanya terdapat fail sendFile.jsp untuk dimuat naik direktori

Bagaimanakah TCP pengaturcaraan rangkaian Java melaksanakan fungsi muat naik fail?

2 Jalankan pelayan dan cipta perkhidmatan tersebut. 3. Jalankan klien dan muat naik fail Anda boleh mendapati terdapat fail tambahan receive.jpg dalam direktori yang telah dimuat naik ke pelayan, dan pada masa yang sama, mesej yang dihantar oleh pelayan telah diterima.

Bagaimanakah TCP pengaturcaraan rangkaian Java melaksanakan fungsi muat naik fail?

Bagaimanakah TCP pengaturcaraan rangkaian Java melaksanakan fungsi muat naik fail?4 Buka kedua-dua fail dan anda akan mendapati yang sama

Bagaimanakah TCP pengaturcaraan rangkaian Java melaksanakan fungsi muat naik fail?

Atas ialah kandungan terperinci Bagaimanakah TCP pengaturcaraan rangkaian Java melaksanakan fungsi muat naik fail?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:yisu.com
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan