问题标签 [dataoutputstream]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
15420 浏览

java - Java 套接字:DataOutputStream 还是 OutputStream?

我对套接字还是比较陌生,我还没有看到任何关于这个主题的信息。

要写入连接的套接字,您可以使用

DataOutputStream或者从套接字创建一个新的OutputStream并写入。

  • 使用 DataOutputStream 或 OutputStream 什么被认为是“良好做法”?我在互联网上找到的大多数示例都使用 DataOutputStream(发送字符串,例如双向聊天)。
  • 使用 DataOutputStream 而不是 OutputStream 有什么优点或缺点吗?
  • 例如,在发送文件时,这两者之间是否存在明显的性能差异?
0 投票
2 回答
1365 浏览

java - 使用 ObjectInputStream/ObjectOutputStream 在 Java 中实现网络“数据包”的利弊?

我正在开发一个使用套接字进行所有通信的简单客户端/服务器应用程序。通信是基于数据包的,数据包的概念是使用一组用于套接字流的类和ObjectInputStream/ObjectOutputStream包装器来实现的。

想知道与完全基于文本的协议(如 IRC)或我明确使用字节的“非常二进制”的东西相比,这种方法是否有任何缺点。

让我们忽略这里的流量问题(“qwerty”与“qwerty”+ 1KB 的元数据),只考虑可靠性和可维护性。

你怎么看?

0 投票
2 回答
1506 浏览

java - 使用 DataOutputStream 时的奇怪输出

我正在使用 Java IO 的 DataOutputStream 来写入文件,但是当我执行程序时,我没有得到正确的输出,而是得到了奇怪的字符。- 虽然我注意到只有使用 writeUTF(String str) 方法写入字符串才有效,即使使用 writeBytes(String s) 也会产生一个奇怪的字符,应该是空格字符 - 写入文件的代码部分如下,任何想法可能的原因,也许与编码有关?提前致谢。

0 投票
2 回答
1588 浏览

java - 使用 junit 测试读取文本和二进制文件以及写入文本和二进制文件

我编写了一个 Course 类,该类具有从文本和二进制文件读取的构造函数,并具有写入文本和二进制文件的方法。我如何编写一个junit测试来测试这个类?

见下面的代码:

}

0 投票
1 回答
2469 浏览

java - 在 java 中使用 DataOutputStream 发送文件

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

我正在尝试使用 DataOutputStream。

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

但我不确定如何实现这些,因为我对 java 真的很陌生......

谁能帮我解决这个问题?

谢谢!

0 投票
2 回答
21880 浏览

java - 为什么 DataOutputStream.writeUTF() 在开头添加额外的 2 个字节?

当我试图在套接字上使用 sax 解析 xml 时,我遇到了一个奇怪的现象。经过分析,我注意到 DataOutputStream 在我的数据前面添加了 2 个字节。

DataOutputStream 发送的消息:

使用 Transformer 发送消息:

正如人们可能注意到的那样,DataOutputStream 在消息前面添加了两个字节。因此,sax 解析器抛出异常“org.xml.sax.SAXParseException: Content is not allowed in prolog.”。但是,当我跳过这 2 个字节时,sax 解析器工作得很好。另外我注意到 DataInputStream 无法读取 Transformer 消息。

我的问题是:为什么 DataOutputStream 会添加这些字节,而 Transformer 为什么不添加这些字节?




对于那些有兴趣复制问题的人,这里有一些代码:

使用 DataInputStream 的服务器:

使用 Transformer 的服务器:



使用 SAX 解析器的客户端:

使用 DataInputStream 的客户端:

0 投票
3 回答
7388 浏览

java - 将 unicode 写入 rtf 文件

我正在尝试将不同语言的字符串写入 rtf 文件。我尝试了一些不同的东西。我在这里以日语为例,但我尝试过的其他语言也是如此。

我也试过:

或更具体:

输出流也有 writeUTF 方法:

您可以通过 write 方法直接在输出流中使用 byte[]。除西欧语言外,以上所有内容都为我提供了乱码。为了查看它是否有效,我尝试在 notepad++ 中打开结果文档并设置适当的编码。我还使用过 OpenOffice,您可以在打开文档时选择编码和字体。

如果它确实有效但我的电脑无法正常打开它,有没有办法检查?

0 投票
2 回答
1305 浏览

java - 如何将 7 字节整数值写入包含 15 位数字的 DataOutputStream?

我必须将 7 字节的整数值写入 DataOutputStream,这个整数包含 15 位数字。我怎样才能做到这一点?

0 投票
2 回答
221 浏览

java - 用 Java 写入文本文件

DataOutputStream我有一个使用 a和该方法将字符串写入文本文件的.writeBytes(String)方法。如果我写一个带有换行符的字符串,例如"I need \n help!",新行不会显示在记事本或其他基本文本编辑器中。但是,它确实出现在写字板、MS Word 等中。为什么会这样,我可以修复它吗?

0 投票
1 回答
535 浏览

file - 来自 FileConnection 编码的 J2ME DataOutputStream

我正在尝试将一些数据从 FileConnection 写入 DataOutputStream。

但我在文件中收到的不是我输入的文本,而是一些垃圾——比如编码存在一些问题。
好的,据我所见,它在文件开头添加了 null 和 0xFF 符号。
可能是什么原因?