java - java中使用DataOutputStream发送文件

标签 java fileinputstream datainputstream dataoutputstream

我正在尝试构建一个将文件大小和内容发送到服务器的客户端。

我正在尝试使用 DataOutputStream。

我假设我需要打开文件并获取文件大小并读取内容并发送它。

但我不知道如何实现这些,因为我对 java 很陌生......

有人可以帮我解决这个问题吗?

谢谢!

最佳答案

很简单,但是代码有点长,要全部写下来,听起来像家庭作业。

我可以给你一些指示。

只需打开文件,使用 long length()类的方法File获取尺寸,然后 writeLong(long)方法DataOutputStream将长度发送到服务器。然后一次读取一个 block 并使用 write(byte[])方法DataOutputStream发送每个 block 。

要一次读取一个文件 block ,您只需创建一个 FileInputStream并使用其 int read(byte[])方法。请注意不要假设此方法会填满整个缓冲区,因为它不能保证这样做。阅读文档!

关于java - java中使用DataOutputStream发送文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7616776/

相关文章:

java - 使用 Eclipse 调试基于 Play Framework 的 Java 项目时,我应该选择哪个 "Select Main Type"?

java - 如何使标签在单击时移动?

java - FileInputStream 负向跳过

Java android 文件输入流文件输出流问题

java - 如何使用DataOutputStream和DataInputStream进行序列化/反序列化?

java - adfs (oauth2) token 验证方法?

java - 错误: failed to load JDBC driver - org. hsqldb.jdbcDriver

httpresponse - 在 Java 中流式传输 HTTP 响应

java - 由于原始 int 值而获取 OptionalDataException,但如何在 JAVA 中避免它

java - 多线程服务器仅从一个客户端 JAVA 接收数据