In Java network programming, file transmission can be implemented using the FileInputStream/FileOutputStream class, and stream transmission uses the InputStream/OutputStream class. The specific steps are as follows: Use FileInputStream to read bytes from the file and write them to FileOutputStream to achieve file transfer; the server uses ServerSocket to establish a connection, FileInputStream reads the video file and writes it to OutputStream for transmission to the client; the client uses Socket to connect to the server. InputStream reads the video stream and writes it to FileOutputStream to save as a local file.
Java Network Programming: File and Streaming
Introduction
In Java In network programming, transferring files and streams is a common task. It can be used to share files, video streams, or other types of binary data. This article explains how to implement file and stream transfers using Java.
File Transfer
To transfer files, you can use Java's FileInputStream
and FileOutputStream
classes. Here's a simple example:
try (FileInputStream fis = new FileInputStream("file.txt"); FileOutputStream fos = new FileOutputStream("output.txt")) { byte[] buffer = new byte[1024]; int read; while ((read = fis.read(buffer)) > 0) { fos.write(buffer, 0, read); } } catch (IOException e) { e.printStackTrace(); }
This code first reads bytes from file.txt
and writes them to output.txt
.
Streaming
To transmit streams, you can use Java's InputStream
and OutputStream
classes. Here is an example that demonstrates how to stream video from the server to the client:
Server side:
try (ServerSocket serverSocket = new ServerSocket(8080); Socket clientSocket = serverSocket.accept(); FileInputStream videoFile = new FileInputStream("video.mp4")) { OutputStream out = clientSocket.getOutputStream(); byte[] buffer = new byte[1024]; int read; while ((read = videoFile.read(buffer)) > 0) { out.write(buffer, 0, read); } } catch (IOException e) { e.printStackTrace(); }
Client side:
try (Socket clientSocket = new Socket("127.0.0.1", 8080); InputStream in = clientSocket.getInputStream(); FileOutputStream videoFile = new FileOutputStream("downloaded.mp4")) { byte[] buffer = new byte[1024]; int read; while ((read = in.read(buffer)) > 0) { videoFile.write(buffer, 0, read); } } catch (IOException e) { e.printStackTrace(); }
Conclusion
By using the FileInputStream/FileOutputStream
and InputStream/OutputStream
classes, Java programmers can easily implement files and streams transmission. This capability is critical for building a variety of web applications.
The above is the detailed content of How to implement file and stream transmission in Java network programming?. For more information, please follow other related articles on the PHP Chinese website!