java局域网视频传输,java局域网传输

java上传文件到局域网内的另一台计算机上?下面是学习啦小编跟大家分享的是java 局域网 传输,欢迎大家来阅读学习~

java 局域网 传输

分析

今天又遇到一个问题:怎样将文件上传到局域网内的另一台机器上。解决方案粗略的想了下大概有如下几种:

1. 搭建一台FTP服务器,然后通过FTP协议进行文件传输。这个方式固然有效,但是有点麻烦。

2. 通过Socket来传输文件,这种方法需要编写一个客户端和一个服务端,这种方案比较通用,在其他方案不可行的情况下,这种方案还是不错的。

3. 搭建一台HTTP服务器(例如tomcat),上传文件时直接将文件上传到这台机器上,需要部署用来上传文件的应用。

4. 如果是windows系统可以采取最简单的形式来完成文件传输(文件共享)。

采用windows文件夹共享来实现

本文最要用第4个方式来完成此功能:

首先在你想要保存上传文件的计算机上设置文件共享,例如本文共享的是image文件夹:

右键image文件夹 -> 属性 -> 共享 -> 文件和文件夹共享

7429ded054c42622346254ac259d044a.png

注意:一定要添加Evenyone用户,并且要给读写的权限。

共享完成后,开始 -> 运行,输入\\192.168.0.67\image (根据实际情况输入你自己的ip)打开共享文件目录。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Java可以通过使用Socket编程实现局域网文件传输。以下是一个简单的示例代码: ```java import java.io.*; import java.net.*; public class FileTransferServer { public static void main(String[] args) { try { ServerSocket serverSocket = new ServerSocket(1234); System.out.println("等待客户端连接..."); Socket socket = serverSocket.accept(); System.out.println("客户端已连接"); // 创建输入流,用于接收文件 InputStream inputStream = socket.getInputStream(); DataInputStream dataInputStream = new DataInputStream(inputStream); // 读取文件名和文件大小 String fileName = dataInputStream.readUTF(); long fileSize = dataInputStream.readLong(); System.out.println("接收文件:" + fileName + ",大小:" + fileSize + "字节"); // 创建输出流,用于保存文件 FileOutputStream fileOutputStream = new FileOutputStream(fileName); // 创建缓冲区 byte[] buffer = new byte[4096]; int bytesRead; long totalBytesRead = 0; // 从输入流中读取数据,并写入输出流中保存文件 while ((bytesRead = dataInputStream.read(buffer)) != -1) { fileOutputStream.write(buffer, 0, bytesRead); totalBytesRead += bytesRead; } System.out.println("文件接收完成,总共接收:" + totalBytesRead + "字节"); // 关闭流和连接 fileOutputStream.close(); dataInputStream.close(); socket.close(); serverSocket.close(); } catch (IOException e) { e.printStackTrace(); } } } ``` ```java import java.io.*; import java.net.*; public class FileTransferClient { public static void main(String[] args) { try { Socket socket = new Socket("服务器IP地址", 1234); // 创建输出流,用于发送文件 OutputStream outputStream = socket.getOutputStream(); DataOutputStream dataOutputStream = new DataOutputStream(outputStream); // 选择要发送的文件 File file = new File("文件路径"); String fileName = file.getName(); long fileSize = file.length(); // 发送文件名和文件大小 dataOutputStream.writeUTF(fileName); dataOutputStream.writeLong(fileSize); System.out.println("发送文件:" + fileName + ",大小:" + fileSize + "字节"); // 创建输入流,用于读取文件内容 FileInputStream fileInputStream = new FileInputStream(file); // 创建缓冲区 byte[] buffer = new byte[4096]; int bytesRead; long totalBytesRead = 0; // 从输入流中读取数据,并通过输出流发送文件内容 while ((bytesRead = fileInputStream.read(buffer)) != -1) { dataOutputStream.write(buffer, 0, bytesRead); totalBytesRead += bytesRead; } System.out.println("文件发送完成,总共发送:" + totalBytesRead + "字节"); // 关闭流和连接 fileInputStream.close(); dataOutputStream.close(); socket.close(); } catch (IOException e) { e.printStackTrace(); } } } ``` 请注意,上述代码中的"服务器IP地址"和"文件路径"需要根据实际情况进行替换。服务器端代码监听1234端口,客户端代码连接到服务器的1234端口。在客户端代码中,选择要发送的文件并指定文件路径。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值