Heim  >  Artikel  >  Java  >  Wie implementiert die Java-Netzwerkprogrammierung TCP die Funktion zum Hochladen von Dateien?

Wie implementiert die Java-Netzwerkprogrammierung TCP die Funktion zum Hochladen von Dateien?

WBOY
WBOYnach vorne
2023-04-29 17:19:07831Durchsuche

Client:

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();
    }
}

Server:

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();
    }

}

Vorgangsergebnisse:

1. Zunächst können Sie feststellen, dass sich nur die Datei sendFile.jsp im Verzeichnis befindet, die hochgeladen werden soll.

Wie implementiert die Java-Netzwerkprogrammierung TCP die Funktion zum Hochladen von Dateien?

2 Nachdem Sie

Wie implementiert die Java-Netzwerkprogrammierung TCP die Funktion zum Hochladen von Dateien?

3 ausgeführt, den Client ausgeführt und Dateien hochgeladen haben, können Sie feststellen, dass im Verzeichnis eine zusätzliche Datei „receive.jpg“ auf den Server hochgeladen wurde, und die Nachricht Die vom Server gesendete Nachricht wird gleichzeitig empfangen.

Wie implementiert die Java-Netzwerkprogrammierung TCP die Funktion zum Hochladen von Dateien?

Wie implementiert die Java-Netzwerkprogrammierung TCP die Funktion zum Hochladen von Dateien?

4. Öffnen Sie die beiden Dateien und Sie können dasselbe finden

Wie implementiert die Java-Netzwerkprogrammierung TCP die Funktion zum Hochladen von Dateien?

Wie implementiert die Java-Netzwerkprogrammierung TCP die Funktion zum Hochladen von Dateien?

Das obige ist der detaillierte Inhalt vonWie implementiert die Java-Netzwerkprogrammierung TCP die Funktion zum Hochladen von Dateien?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:yisu.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen